ign*_*low 416 python django pip setuptools virtualenv
我正在将一个Django应用程序部署到开发服务器,并在运行pip install 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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
编辑这只发生在virtualenv中.如果我在virtualenv之外打开一个控制台,那么就存在pkg_resources
但我仍然得到同样的错误.关于为什么pkg_resources不在路径上的任何想法?
cwc*_*cwc 601
2018年7月更新
大多数人现在应该使用pip install setuptools
(可能还有sudo
).
有些人可能需要(重新)安装python-setuptools
通过自己的包管理器(包apt-get install
,yum install
等等).
此问题可能高度依赖于您的操作系统和开发环境.如果以上内容不适合您,请参阅下面的遗产/其他答案.
说明
此错误消息是由丢失/损坏的Python setuptools
包引起的.Per Matt M.的注释和setuptools问题#581,下面提到的引导脚本不再是推荐的安装方法.
引导脚本说明将保留在下面,以防它对任何人都有帮助.
遗产答案
我ImportError
在尝试使用pip时遇到了同样的问题.不知何故setuptools
,我的Python环境中已经删除了包.
要解决此问题,请运行以下设置脚本setuptools
:
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
Run Code Online (Sandbox Code Playgroud)
(或者如果您没有wget
安装(例如OS X),请尝试
curl https://bootstrap.pypa.io/ez_setup.py | python
Run Code Online (Sandbox Code Playgroud)
可能有sudo
前置.)
如果您有任何版本distribute
或任何setuptools
低于0.6的版本,则必须先将其卸载.*
有关详细信息,请参阅安装说明
*如果您已经有效distribute
,将其升级到"兼容包装"可以让您setuptools
更轻松.但如果事情已经破裂,不要试试.
小智 115
sudo apt-get install --reinstall python-pkg-resources
Run Code Online (Sandbox Code Playgroud)
在Debian中为我修复它.好像卸载一些.deb软件包(在我的情况下是扭曲集)已经打破了python用于查找软件包的路径
Ali*_*rak 52
尝试在ubuntu 13.10上安装rhodecode到virtualenv时,我看到了这个错误.对我来说,解决方案是运行
pip install --upgrade setuptools
pip install --upgrade distribute
Run Code Online (Sandbox Code Playgroud)
在我运行easy_install rhodecode之前.
pra*_*ram 33
它也发生在我身上.我认为如果在virtualenv使用setuptools时,requirements.txt包含"distribute"条目,则会出现问题.Pip将尝试修补setuptools以便为分发腾出空间,但不幸的是它会在一半时间内失败.
简单的解决方案是删除当前的virtualenv,然后使用--distribute参数创建一个新的virtualenv.
使用virtualenvwrapper的一个例子:
$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
小智 16
在CentOS 6中安装包python-setuptools修复了它.
yum install python-setuptools
Run Code Online (Sandbox Code Playgroud)
ajt*_*rds 14
我之前有这个错误,评价最高的答案给我一个错误,试图下载ez_setup.py
文件.我找到了另一个源,因此您可以运行该命令:
curl http://peak.telecommunity.com/dist/ez_setup.py | python
Run Code Online (Sandbox Code Playgroud)
我发现我还必须使用sudo
才能使它工作,所以你可能需要运行:
sudo curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python
Run Code Online (Sandbox Code Playgroud)
我还创建了另一个可以从以下位置下载脚本的位置:
https://gist.github.com/ajtrichards/42e73562a89edb1039f3
pti*_*tim 14
在尝试了几个这样的答案之后,然后联系了一位同事,在Ubuntu 16.04上对我有用的是:
pip install --force-reinstall -U setuptools
pip install --force-reinstall -U pip
Run Code Online (Sandbox Code Playgroud)
在我的情况下,它只是一个旧版本的枕头3.1.1有麻烦(枕头4.x工作正常),现在已经解决了!
Eve*_*ews 10
很多答案都推荐以下内容,但如果您仔细阅读该脚本的源代码,您会意识到它已被弃用。
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
Run Code Online (Sandbox Code Playgroud)
如果你的点也坏了,这也不起作用。
pip install setuptools
Run Code Online (Sandbox Code Playgroud)
我发现我必须运行Ensure pip、setuptools 和wheel are up to date中的命令,才能让 pip 再次工作。
python -m pip install --upgrade pip setuptools wheel
Run Code Online (Sandbox Code Playgroud)
需要多一点sudo.然后使用easy_install来安装pip.作品.
sudo wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
sudo easy_install pip
Run Code Online (Sandbox Code Playgroud)
我通过这样做修复了virtualenv的错误:
从中复制pkg_resources.py
/Library/Python/2.7/site-packages/setuptools
至
/Library/Python/2.7/site-packages/
这可能是一个廉价的解决方法,但它对我有用.
.
如果设置工具不存在,您可以尝试通过键入来安装system-site-packages virtualenv --system-site-packages /DESTINATION DIRECTORY
,将最后一部分更改为要安装到的目录.pkg_rousources.py
将在lib/python2.7/site-packages中的该目录下
小智 5
我在安装最新的Python版本后遇到了这个问题3.10.4
。不知何故,setuptools
包和 pip 被删除了。
我使用以下命令来解决该问题:在 [Windows] 中
py -m ensurepip --default-pip
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
436331 次 |
最近记录: |