我正在将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不在路径上有任何想法吗?


当前回答

如果你在通过conda安装的应用程序中遇到这个问题,解决方案(如此错误报告中所述)只是简单地安装安装工具:

conda install setuptools

其他回答

在Windows上,使用python 3.7,这对我来说是有效的:

pip install --upgrade setuptools --user

——user在你的主目录下安装包,不需要管理员权限。

我在ubuntu 13.10上试图将rhodecode安装到virtualenv时看到过这个错误。对我来说,解决办法就是逃跑

pip install --upgrade setuptools
pip install --upgrade distribute 

在我运行easy_install rhodecode之前。

您可以使用该命令 Sudo apt-get install—重新安装python3-pkg-resources 如果您正在使用python3,那么我就是这种情况。

当我试图遵循OSX指南时,我偶然发现了这个答案。对我有用的是,在运行python get-pip之后,我还必须easy_install pip。这解决了根本无法运行pip的问题。我确实安装了一堆旧的macport软件。这可能有些矛盾。

Yum -y install python-setuptools

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