当前位置:  开发笔记 > 编程语言 > 正文

pip冻结没有已安装包的依赖关系

如何解决《pip冻结没有已安装包的依赖关系》经验,为你挑选了2个好方法。

当我这样做时,pip freeze我得到了我明确安装的软件包以及那些软件包依赖的软件包.

例如:

$ pip install fabric
...
$ pip freeze
Fabric==1.0.1
paramiko==1.7.6
pycrypto==2.3

好的,但后来我又在另一个环境中安装了这个requirements.txt,pip install我得到了相同的结果,删除了最后两行.

所以我的问题是:如何创建最简化的requirements.txt,其中所有可计算的依赖关系都没有显示?



1> rbanffy..:

现在有(免责声明:我做到了).

您只需pip-chill从PyPI 安装并pip-chill从Python环境运行即可.

如果您喜欢冒险并且不想固定版本(或者想要使用pip-compile),那么您可以使用pip-chill --no-version并且它将为您提供当前环境的最低要求.

https://github.com/rbanffy/pip-chill



2> Hugo Tavares..:

没有办法用pip创建"最简化的requirements.txt" - 我不知道在这种情况下你是否需要它.

最好在requirements.txt中包含所有包,因为您确定哪些依赖项版本适用于您的环境.

想想paramiko得到更新,并打破向后兼容性:你会遇到问题.


我不认为`所有包'都是正确的.由于`pip install -r requirements.txt`会自动安装依赖,我们只需要root/original包.
@NamGVU:Python世界并不完美,很多时候人们没有为他们的直接依赖指定严格的版本.我已经看过很多次这个问题.想到的一个案例是`python-statsd`**错误地指定`mock`(没有固定版本)作为依赖,突然最新版本的`mock`需要不同版本的`setuptools` .我的一些服务器坏了,因为他们使用`python-statsd == 1.6.0`而没有指定完整的依赖关系层次结构.请参阅https://git.io/vPWIW和https://github.com/testing-cabal/mock/issues/261
推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有