识别与pip一起安装的python软件包的依赖关系

马克·克克勒安(Mark Chackerian):

当我冻结一个点子时,会看到大量未明确安装的Python软件包,例如

$ pip freeze
Cheetah==2.4.3
GnuPGInterface==0.3.2
Landscape-Client==11.01
M2Crypto==0.20.1
PAM==0.4.2
PIL==1.1.7
PyYAML==3.09
Twisted-Core==10.2.0
Twisted-Web==10.2.0
(etc.)

我有办法确定为什么pip安装了这些特定的依赖软件包吗?换句话说,如何确定将这些软件包作为依赖项的父软件包?

例如,我可能想使用Twisted,并且在我不了解不意外卸载或升级它之前,不要依赖于软件包。

djsutho:

您可以尝试将pipdeptree显示为树状结构,例如:

$ pipdeptree
Lookupy==0.1
wsgiref==0.1.2
argparse==1.2.1
psycopg2==2.5.2
Flask-Script==0.6.6
  - Flask [installed: 0.10.1]
    - Werkzeug [required: >=0.7, installed: 0.9.4]
    - Jinja2 [required: >=2.4, installed: 2.7.2]
      - MarkupSafe [installed: 0.18]
    - itsdangerous [required: >=0.21, installed: 0.23]
alembic==0.6.2
  - SQLAlchemy [required: >=0.7.3, installed: 0.9.1]
  - Mako [installed: 0.9.1]
    - MarkupSafe [required: >=0.9.2, installed: 0.18]
ipython==2.0.0
slugify==0.0.1
redis==2.9.1

要使其运行:

pip install pipdeptree


编辑:正如@Esteban在评论中指出的那样,您还可以反向列出树,-r或者使用单个软件包列出-p <package_name>以便找到可以运行的已安装Werkzeug:

$ pipdeptree -r -p Werkzeug
Werkzeug==0.11.15
  - Flask==0.12 [requires: Werkzeug>=0.7]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

随pip一起安装的软件包会根据python配置更改吗?

删除与之一起安装的软件包和依赖项

如何使用pip卸载可编辑软件包(与-e一起安装)

如何在PyPI中配置软件包以仅与pip3一起安装

如何使conda识别pip安装的python软件包?

如何包括与Bower一起安装的软件包?

完全卸载与软件包一起安装的相关软件包

Python 找不到与 Conda 一起安装的软件包

如何设置路径,使其与本地作为软件包安装的Python代码一起使用

与Anaconda一起安装了软件包,无法在Python中导入

python隐式名称空间软件包未与setuptools一起安装

pip仓库中软件包的依赖关系

PIP和python安装软件包

使用pip安装python软件包

安装具有Python依赖关系的软件包-“您持有损坏的软件包”

安装的软件包的依赖关系存储在哪里?

Haskell Stack从github安装软件包的依赖关系

pip不安装我的软件包依赖项

如何重新安装随Homebrew一起安装的所有软件包?

安装Bower软件包时,安装与浏览器一起使用的节点依赖项的正确方法是什么?

将Python安装恢复为默认设置以及apt软件包依赖关系

如何通过pip3脱机安装所有依赖项的python软件包?

随hombrew一起安装,可以找到导致软件包故障的$ GOROOT

与DNF一起安装的软件包将存储在哪里?

如何卸载随堆栈一起安装的Haskell软件包?

如何使intellisense与.egg-link软件包(以开发模式安装)一起使用?

在尝试与Muon一起安装时被要求删除软件包?

在Ubuntu 16.04中,随APT一起安装存储的软件包存储在哪里?

php install 找不到与 Composer 一起安装的软件包