没有名为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了另一个脚本可以从下载的位置:
在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有关,那么你面临着和我一样的问题。