Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 没有名为pkg_资源的模块_Python_Django_Virtualenv_Setuptools_Pip - Fatal编程技术网

Python 没有名为pkg_资源的模块

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

我正在将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
编辑:这只发生在virtualenv内部。如果我在virtualenv之外打开控制台,则会出现
pkg_resources
,但我仍然会收到相同的错误


关于为什么pkg\U资源不在路径上,有什么想法吗?

2018年7月更新

大多数人现在应该使用
pip安装setuptools
(可能使用
sudo

有些人可能需要通过软件包管理器(重新)安装
python setuptools
软件包(
apt-get-install
yum-install
,等等)

此问题可能高度依赖于您的操作系统和开发环境。如果上述内容不适用于您,请参阅下面的遗留/其他答案

解释

此错误消息是由Python
setuptools
包丢失/损坏引起的。根据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