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


当前回答

对我来说,这个错误是因为我有一个名为“site”的子目录!我不知道这是不是pip bug,但我开始说:

/一些/目录/要求.txt /一些/目录/站点/

PIP install -r requirements.txt不能工作,给我上面的错误!

将子文件夹从“site”重命名为“src”修复了这个问题!也许皮普正在寻找“站点包”?疯了。

其他回答

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.

ImportError:没有名为pkg_resources的模块:解决方案是使用以下命令重新安装python pip。

操作步骤步骤1以root用户登录。

sudo su root

步骤:2如果存在,卸载python-pip包。

apt-get purge -y python-pip

3 .使用wget命令下载文件(在pwd中下载文件)

wget https://bootstrap.pypa.io/get-pip.py

步骤:4运行python文件。

python ./get-pip.py

步骤:5最后执行安装命令。

apt-get install python-pip

备注:必须为root用户。

在CentOS 6安装包python-setuptools修复了它。

yum install python-setuptools

我之前有这个错误,最高评级的答案给了我一个错误,试图下载ez_setup.py文件。我找到了另一个来源,所以你可以运行命令:

curl http://peak.telecommunity.com/dist/ez_setup.py | python

我发现我还必须使用sudo来让它工作,所以你可能需要运行:

sudo curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python

我还创建了另一个可以下载脚本的位置:

https://gist.github.com/ajtrichards/42e73562a89edb1039f3

看起来他们已经离开bitbucket,现在在github (https://github.com/pypa/setuptools)

执行的命令为:

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python