Python 没有名为pkg_资源的模块
我正在将Django应用程序部署到一个开发服务器上,当我运行Python 没有名为pkg_资源的模块,python,django,virtualenv,setuptools,pip,Python,Django,Virtualenv,Setuptools,Pip,我正在将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 na
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
编辑:这只发生在virtualenv内部。如果我在virtualenv之外打开控制台,则会出现pkg_resources
,但我仍然会收到相同的错误
关于为什么pkg\U资源不在路径上,有什么想法吗?2018年7月更新 大多数人现在应该使用
pip安装setuptools
(可能使用sudo
)
有些人可能需要通过软件包管理器(重新)安装python setuptools
软件包(apt-get-install
,yum-install
,等等)
此问题可能高度依赖于您的操作系统和开发环境。如果上述内容不适用于您,请参阅下面的遗留/其他答案
解释
此错误消息是由Pythonsetuptools
包丢失/损坏引起的。根据Matt M.的评论,下面提到的引导脚本不再是推荐的安装方法
引导脚本说明将保留在下面,以防对任何人仍然有用
传统答案
我今天在尝试使用pip时遇到了相同的ImportError
。不知怎的,setuptools
包在我的Python环境中被删除了
要解决此问题,请运行setuptools
的安装脚本:
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
(或者如果您没有安装wget
(例如OS X),请尝试
可能带有sudo
前缀。)
如果您有低于0.6的任何版本或任何setuptools
,则必须先卸载它*
有关更多详细信息,请参阅
*如果您已经有了一个可用的
分发
,那么将其升级到“兼容性包装器”将更容易切换到设置工具
。但是如果事情已经坏了,不要尝试那样做。当我以不同于创建它的用户的身份激活我的virtualenv时,我遇到了这个问题。这似乎是一个许可问题。当我尝试@cwc的答案并在输出中看到这一点时,我发现了这一点:
Installing easy_install script to /path/env/bin
error: /path/env/bin/easy_install: Permission denied
切换回创建virtualenv的用户,然后运行原始的
pip install
命令,没有出现问题。希望这有帮助 我今天也有这个问题。我只是在虚拟环境中遇到了问题
我的解决方案是停用虚拟环境,删除,然后用pip卸载virtualenv并重新安装。在那之后,我为我的项目创建了一个新的虚拟环境,然后pip在虚拟环境中和在正常环境中一样工作良好。这也发生在我身上。我认为,如果requirements.txt包含一个“distribute”条目,而virtualenv使用setuptools,那么问题就会出现。Pip将尝试修补setuptools以为分发腾出空间,但不幸的是,它将失败一半 简单的解决方案是删除当前的virtualenv,然后使用--distribute参数创建一个新的virtualenv 使用VirtualNVRapper的示例如下:
$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt
我在尝试将RhodoCode安装到Ubuntu13.10上的virtualenv时看到了这个错误。对我来说,解决办法就是跑步
pip install --upgrade setuptools
pip install --upgrade distribute
在运行easy_安装代码之前。我通过以下操作修复了virtualenv的错误: 已从中复制pkg_resources.py
/Library/Python/2.7/site packages/setuptools
到
/Library/Python/2.7/site-packages/
这可能是一个廉价的解决办法,但对我来说很有效
如果安装工具不存在,可以通过键入
virtualenv--system site packages/DESTINATION DIRECTORY
,将最后一部分更改为要安装到的目录,尝试安装系统站点软件包pkg_rousources.py
将位于lib/python2.7/site packages中的该目录下对于我来说,导致此错误的原因是我有一个名为“site”的子目录!我不知道这是否是一个pip错误,但我从以下内容开始:
/some/dir/requirements.txt
/some/dir/site/
pip安装-r requirements.txt不起作用,给了我上面的错误
将子文件夹从“site”重命名为“src”修复了该问题!也许pip正在寻找“网站包”?疯狂。我之前出现了这个错误,评分最高的答案在尝试下载
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
我还创建了另一个可以下载脚本的位置:
我在尝试理解时遇到了这个答案。对我有效的是,在运行了
python-get-pip
之后,我还必须easy\u-install-pip
。这解决了根本无法运行pip的问题。我确实安装了一堆旧的macport设备。这可能有冲突。显然您缺少设置工具。默认情况下,某些VirtualNV版本使用distribute而不是setuptools。在创建virtualenv时使用--setuptools
选项,或在您的环境中设置virtualenv\u setuptools=1
。在windows上,我安装了从下载的pip,然后遇到此问题
所以我应该先安装setuptools(easy_install)
在Debian中为我修复了它。似乎卸载一些.deb包(在我的例子中是twisted集)打破了python在CentOS 6中查找包的路径安装包python setuptools修复了它
yum install python-setuptools
只需通过以下方式重新安装
setuptools
:
$ sudo wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefefe74e
$ tar -zxvf setuptools-0.6c11.tar.gz
$ cd setuptools-0.6c11/
$ sudo python setup.py build
$ sudo python setup.py install
$ sudo pip install --upgrade setuptools
然后一切都会好起来。我使用的是CentOS 6.7,我的python刚刚从2.6.6升级到2.7.11,在尝试了这么多不同的答案后,最后以下一个解决了问题:
sudo yum install python-devel
希望能在同样的情况下帮助别人。看起来他们
yum install python-setuptools
$ sudo wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefefe74e
$ tar -zxvf setuptools-0.6c11.tar.gz
$ cd setuptools-0.6c11/
$ sudo python setup.py build
$ sudo python setup.py install
$ sudo pip install --upgrade setuptools
sudo yum install python-devel
wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
sudo apt-get install python-setuptools python-dev build-essential
sudo easy_install pip
pip install --upgrade setuptools
sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/
~/RepoDir/TestProject$ virtualenv TestEnvironmentDir
zypper in python-Pygments
sudo wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
sudo easy_install pip
sudo su root
apt-get purge -y python-pip
wget https://bootstrap.pypa.io/get-pip.py
python ./get-pip.py
apt-get install python-pip
pip install --force-reinstall -U setuptools
pip install --force-reinstall -U pip
conda install setuptools
pip install --upgrade setuptools --user
virtualenv venv
python3 -m virtualenv venv
conda upgrade -c anaconda setuptools
conda install -c anaconda setuptools