没有名为pkg_resources的模块

我正在部署一个Django应用程序到开发服务器,并遇到这个错误,当我运行PIP安装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不在path上的任何想法?

我在尝试使用pip时今天遇到了相同的ImportError 。 不知何故setuptools包已经在我的Python环境中被删除了。

要解决这个问题,请运行setuptools的安装脚本:

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

(或者如果你没有安装wget (例如OS X),请尝试

 curl https://bootstrap.pypa.io/ez_setup.py | python 

可能与sudo prepended。)

如果您有任何版本的distribute版本,或0.6以下的任何setuptools ,您将不得不先卸载它。*

有关详细信息,请参阅安装说明


*如果您已经有一个工作distribute ,将其升级到“兼容性包装器”,将您切换到setuptools更容易。 但是,如果事情已经破裂,不要尝试。

 sudo apt-get install --reinstall python-pkg-resources 

在Debian中修复它。 似乎卸载一些.deb包(在我的情况下,扭曲集)打破了python用来查找包的path

在尝试将ubuntu 13.10上的virtualenv安装到Linux上时,我看到了这个错误。 对我来说,解决scheme是运行

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

在我运行easy_install rhodecode之前。

这也发生在我身上。 我认为如果requirements.txt包含“distribute”条目,而virtualenv使用setuptools,则会发生问题。 PIP将尝试修补setuptools以腾出空间来分发,但不幸的是它将失败一半。

简单的解决scheme是删除当前的virtualenv,然后用–distribute参数创build一个新的virtualenv。

一个使用virtualenvwrapper的例子:

 $ deactivate $ rmvirtualenv yourenv $ mkvirtualenv yourenv --distribute $ workon yourenv $ pip install -r requirements.txt 

我以前有这个错误,最高评价的答案给了我一个错误,试图下载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 

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

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

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

 yum install python-setuptools 

需要多一点sudo。 然后使用easy_install来安装pip。 作品。

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

我用virtualenv修正了这个错误:

复制了pkg_resources.py

/Library/Python/2.7/site-packages/setuptools

/Library/Python/2.7/site-packages/

这可能是一个便宜的解决方法,但它为我工作。

如果安装工具不存在,您可以尝试通过键入virtualenv --system-site-packages /DESTINATION DIRECTORY来安装system-site-packages,将最后一部分更改为要安装的目录。 pkg_rousources.py将在lib / python2.7 / site-packages的目录下

对我来说,这个错误是由于我有一个名为“网站”的子目录造成的! 我不知道这是不是一个点差错,但我开始:

/some/dir/requirements.txt / some / dir / site /

PIP安装-r requirements.txt不会工作,给我上面的错误!

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

当我激活我的virtualenv作为一个不同的用户创build它时,我遇到了这个问题。 这似乎是一个权限问题。 我在@cwc试着回答这个问题时发现了这个问题,并在输出中看到了这个:

 Installing easy_install script to /path/env/bin error: /path/env/bin/easy_install: Permission denied 

切换回创buildvirtualenv的用户,然后运行原始的pip install命令没有问题。 希望这可以帮助!

我今天也有这个问题。 我只在虚拟环境中遇到问题。

我的解决scheme是取消激活虚拟环境,删除,然后卸载与PIP virtualenv并重新安装它。 之后,我为我的项目创build了一个新的虚拟环境,然后在正常环境中,虚拟环境内的点均可以正常工作。

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

要运行的命令是:

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

对我来说,原来是site-packages上的权限问题。 由于这只是我的开发环境,我提出了权限,一切都重新开始:

 sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/ 

显然你错过了setuptools。 一些virtualenv版本默认使用分发而不是setuptools。 在创buildvirtualenv时使用--setuptools选项,或者在您的环境中设置VIRTUALENV_SETUPTOOLS=1

在尝试了几个这样的答案之后,接触到了一个同事,在Ubuntu 16.04上对我有用的是:

 pip install --force-reinstall -U setuptools pip install --force-reinstall -U pip 

在我的情况下,这只是一个老版本的枕头3.1.1有麻烦(枕头4.x工作正常),现在已经解决了!

当我试图按照OSX的这个指南,我遇到了这个答案。 对我来说,运行python get-pip ,我还必须easy_install pip 。 那固定了根本不能跑点的问题。 我确实有一堆旧macport的东西安装。 这可能有冲突。

在windows上,我安装了从www.lfd.uci.edu/~gohlke/pythonlibs/下载的pip,然后解决了这个问题。

所以我应该先安装setuptools(easy_install)。

只需重新安装你的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 

希望在同样的情况下帮助别人。

没有发布的答案为我工作,所以我重新安装点,它的工作!

 sudo apt-get install python-setuptools python-dev build-essential sudo easy_install pip pip install --upgrade setuptools 

(参考: http : //www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )

更新我的Ubuntu版本后,我遇到了这个问题。 似乎已经通过并删除了我的所有虚拟环境中的设置工具。

为了解决这个问题,我把虚拟环境重新安装回了目标目录。 这清理了缺less的设置工具,让事情再次运行。

例如:

 ~/RepoDir/TestProject$ virtualenv TestEnvironmentDir 

对我来说,一个很好的解决方法是使用--no-download选项来使用virtualenv( VIRTUALENV_NO_DOWNLOAD=1 tox for tox。)

在Opensuse 42.1上解决了以下问题:

 zypper in python-Pygments 

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

步骤:1以root用户login。

 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最后的exicute安装命令。

 apt-get install python-pip 

注意:用户必须是root用户。

我在Google App Engine环境中遇到了这个错误。 和pip install -t lib setuptools修复了这个问题。

以下Tukadiya Ramesh提出的解决scheme为我工作,但我想指出,您必须使用正确的二进制文件/工具匹配你的环境,就像我我已经安装了python3.6(python 3):

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

步骤:1以root用户login。

sudo su根

步骤:2卸载python-pip软件包(如果存在)。

apt-get purge -y python-pip( 如果错误指向../python3/,请使用python3-pip

步骤:3使用wget命令下载文件(文件在pwd下载)

wget https://bootstrap.pypa.io/get-pip.py有3.2版本可用,根据你的env使用

步骤:4运行python文件。

python ./get-pip.py( 如果错误与python 3有关,那么你想使用python3或python3.6等[根据你的环境]

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

apt-get install python-pip( 同样,在第二步中使用python3-pip

注意:用户必须是root用户。

PS解决了我的update-manager在Ubuntu 16中的问题。它一直在与Python导入相关的错误崩溃。 如果你有相同的问题尝试运行sudo aptd ,如果它抛出错误(对不起,我没有确切的)与Python有关,那么你面临着和我一样的问题。