我正在将Django应用程序部署到开发服务器上,当我运行pip install -r requirements.txt时,遇到了这个错误:

Traceback (most recent call last):
  File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

Pkg_resources似乎与setuptools一起分发。最初我认为这可能不会安装到virtualenv中的Python中,因此我使用以下命令将setuptools 2.6(与Python相同版本)安装到virtualenv中的Python站点包中:

sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages

编辑:这只发生在virtualenv内部。如果我在virtualenv之外打开一个控制台,那么pkg_resources是存在的,但我仍然得到相同的错误。

关于为什么pkg_resources不在路径上有任何想法吗?


当前回答

我通过这样做修复了virtualenv的错误:

复制pkg_resources.py from

/ Library /蟒蛇/ 2.7 / site-packages / setuptools

to

/图书馆/ Python / 2.7 /网站/

这可能是一个廉价的变通办法,但对我来说很管用。

.

如果安装工具不存在,您可以尝试通过输入virtualenv——system-site-packages /DESTINATION DIRECTORY来安装system-site-packages,将最后一部分更改为您想要安装的目录。Pkg_rousources.py将在lib/python2.7/site-packages目录下

其他回答

I have had the same problem when I used easy-install to install pip for python 2.7.14. For me the solution was (might not be the best, but worked for me, and this is probably the simplest) that the folder that contained the easy-install.py also contained a folder pkg_resources, and i have copy-pasted this folder into the same folder where my pip-script.py script was (python27\Scripts). Since then, I found it in the python27\Lib\site-packages\pip-9.0.1-py2.7.egg\pip\_vendor folder as well, it might be a better solution to modify the pip-script.py file to import this.

我通过这样做修复了virtualenv的错误:

复制pkg_resources.py from

/ Library /蟒蛇/ 2.7 / site-packages / setuptools

to

/图书馆/ Python / 2.7 /网站/

这可能是一个廉价的变通办法,但对我来说很管用。

.

如果安装工具不存在,您可以尝试通过输入virtualenv——system-site-packages /DESTINATION DIRECTORY来安装system-site-packages,将最后一部分更改为您想要安装的目录。Pkg_rousources.py将在lib/python2.7/site-packages目录下

在Opensuse 42.1中,以下修复了此问题:

zypper in python-Pygments

Yum -y install python-setuptools

我配置Ceph有一个问题执行命令“$ Ceph -deploy new node1” 然后执行命令“$ yum -y install python-setuptools”, 那么问题就解决了。谢谢

简单的解决方法是使用conda来升级setuptools或整个环境。(windows用户专用)

conda upgrade -c anaconda setuptools

如果setuptools被移除,需要重新安装setuptools。

conda install -c anaconda setuptools

如果这些方法都不起作用,您可以升级conda环境。但我不建议你重新安装和卸载一些包,因为这将加剧情况。