当我运行时,pip freeze我看到(在其他预期的包中)pkg-resources==0.0.0。我看过一些帖子提到了这个包,但没有人解释它是什么,或者为什么它包含在pip freeze. 我想知道的主要原因是出于好奇,但在某些情况下,当尝试安装包含该行的requirements.txt文件生成的文件时,它似乎会破坏一些事情(例如,当Travis CI尝试通过安装依赖项并找到它时)线)。pip freeze``pkg- resources==0.0.0pip
pip freeze
pkg-resources==0.0.0
requirements.txt
pip freeze``pkg- resources==0.0.0
pip
什么是pkg-resources,可以从中删除此行requirements.txt吗?
pkg-resources
我发现这条线似乎只存在于pip freeze我在virtualenv. 我仍然不确定它是什么或它做了什么,但我会进一步调查,知道它可能与virtualenv.
virtualenv
根据https://github.com/pypa/pip/issues/4022,这是由于 Ubuntu 向 pip 提供了不正确的元数据而导致的错误。所以,不,这种行为似乎没有充分的理由。我向 Ubuntu 提交了一个后续错误。https://bugs.launchpad.net/ubuntu/+source/python- pip/+bug/1635463
要备份之前的答案,从您的 requirements.txt 中删除该行应该是安全的。这是一个示例 Make 文件节,它可以安全地冻结您的包列表(放入您的 Makefile 并使用 运行make freeze):
make freeze
freeze: pip freeze | grep -v "pkg-resources" > requirements.txt