列出python包依赖关系而不加载它们? [英] list python package dependencies without loading them?

查看:144
本文介绍了列出python包依赖关系而不加载它们?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

说蟒蛇包A需要B,C和D;
有一种方法来列出A→ BCD没有加载它们?

要求元数据中的 yolk -MA )通常不完整,grr。

可以下载A.tar / A.egg,然后查看A / setup.py,
,但其中一些是相当的gory。



(我认为至少获得一级依赖可以机械化;
甚至98%的解决方案将比雪崩下载更好。)



相关问题:
pip-upgrade-package - 没有升级依赖

解决方案

Snakefood

  sfood -fuq package.py | sfood-target-files 

将列出依赖项。

 `-f`告诉sfood递归地遵循依赖关系
`-u`告诉sfood忽略未使用的导入
`-q`告诉sfood安静关于调试信息

要从标准库过滤掉模块,可以使用

  sfood -fuq package.py | sfood-filter-stdlib | sfood-target-files 

正如你已经注意到的,如果还有其他目录忽略,您也可以使用 sfood -I 标志。


Say that python package A requires B, C and D; is there a way to list A → B C D without loading them ?
Requires in the metadata (yolk -M A) are often incomplete, grr.
One can download A.tar / A.egg, then look through A/setup.py, but some of those are pretty gory.

(I'd have thought that getting at least first-level dependencies could be mechanized; even a 98 % solution would be better than avalanching downloads.)

A related question: pip-upgrade-package-without-upgrading-dependencies

解决方案

Snakefood

sfood -fuq package.py | sfood-target-files 

will list the dependencies.

`-f` tells sfood to follow dependencies recursively
`-u` tells sfood to ignore unused imports
`-q` tells sfood to be quiet about debugging information

To filter out modules from the standard library, you could use

sfood -fuq package.py | sfood-filter-stdlib | sfood-target-files 

As you've already noted, if there are other directories you'd like ignored, you can also use the sfood -I flag.

这篇关于列出python包依赖关系而不加载它们?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆