编程语言
首页 > 编程语言> > python – pip freeze命令输出中的“pkg-resources == 0.0.0”是什么

python – pip freeze命令输出中的“pkg-resources == 0.0.0”是什么

作者:互联网

当我运行pip freeze时,我看到(在其他预期的包中)pkg-resources == 0.0.0.我看过一些帖子提到这个包(包括this one),但没有一个解释它是什么,或者为什么它包含在pip冻结的输出中.我想知道的主要原因是出于好奇,而且,在某些情况下,当尝试使用包含pkg-resources == 0.0.0行的pip freeze生成的requirements.txt文件安装包时,它似乎会破坏一些东西.例如,当Travis CI尝试通过pip安装依赖项并找到此行时).

什么是pkg-resources,可以从requirements.txt中删除这一行吗?

更新:

我发现当我在virtualenv中时,这条线似乎只存在于pip冻结的输出中.我仍然不确定它是什么或它做什么,但我会进一步调查,知道它可能与virtualenv有关.

解决方法:

根据https://github.com/pypa/pip/issues/4022,这是由Ubuntu提供错误元数据到pip导致的错误.所以,似乎没有这种行为的充分理由.我向Ubuntu提交了一个后续错误. https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463

要备份上一个答案,可以安全地从requirements.txt中删除该行.下面是一个示例Make file节,可以安全地冻结您的包列表(放入Makefile并使用make freeze运行):

freeze:
    pip freeze | grep -v "pkg-resources" > requirements.txt

标签:python,python-3-x,pip,ubuntu-16-04
来源: https://codeday.me/bug/20190926/1821148.html