Why does pip freeze list “pkg-resources==0.0.0”?

匿名 (未验证) 提交于 2019-12-03 01:25:01

问题:

On Ubuntu 16.04 with virtualenv 15.0.1 and Python 3.5.2 (both installed with apt) when I create and activate new Python virtual environment with

virtualenv .virtualenvs/wtf -p $(which python3) --no-site-packages source .virtualenvs/wtf/bin/activate

I get the following output:

Already using interpreter /usr/bin/python3 Using base prefix '/usr' New python executable in /home/das-g/.virtualenvs/wtf/bin/python3 Also creating executable in /home/das-g/.virtualenvs/wtf/bin/python Installing setuptools, pkg_resources, pip, wheel...done.

Indeed pip freeze --all lists these 4 packages:

pip==8.1.2 pkg-resources==0.0.0 setuptools==25.2.0 wheel==0.29.0

Though, I'd expect pip freeze (without --all) to omit these implicitly installed packages. It does omit some of them, but not pkg-resources:

pkg-resources==0.0.0

(Same btw. for pip freeze --local)

While this is consistent with the help text

$> pip freeze --help | grep '\--all'   --all                       Do not skip these packages in the output: pip, setuptools, distribute, wheel

having pkg-resources in the pip freeze output doesn't seem very useful and might even be harmful. (I suspect it's why running pip-sync from pip-tools uninstalls pkg-resources from the virtual environment, subtly breaking the environment thereby.) Is there any good reason why pip freeze lists pkg-resources instead of omitting it, too? As far as I remember, it didn't list it on Ubuntu 14.04 (with Python 3.4).

回答1:

According to https://github.com/pypa/pip/issues/4022, this is a bug resulting from Ubuntu providing incorrect metadata to pip. So, no there does not seem to be a good reason for this behaviour. I filed a follow-up bug with Ubuntu. https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463



回答2:

I had the same problem.

How I fixed it: with commands

sudo apt-get remove virtualenv sudo -H pip2 install virtualenv

It just worked.



回答3:

I had the same problem in my virtual environment. I removed it with pip uninstall pkg-resources==0.0.0



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!