是什么导致了导入恐怖:在os X上升级Python后,没有名为pkg_resources的模块?

是什么导致了导入恐怖:在os X上升级Python后,没有名为pkg_resources的模块?,python,ipython,Python,Ipython,我刚刚在Mac上将Python更新为2.6.4。 我是从dmg软件包安装的 二进制文件似乎没有正确设置我的Python路径,因此我在.bash\u profile中添加了'/usr/local/lib/python2.6/site-packages' >>> pprint.pprint(sys.path) ['', '/Users/Bryan/work/django-trunk', '/usr/local/lib/python2.6/site-packages', '

我刚刚在Mac上将Python更新为2.6.4。 我是从dmg软件包安装的

二进制文件似乎没有正确设置我的Python路径,因此我在
.bash\u profile中添加了
'/usr/local/lib/python2.6/site-packages'

>>> pprint.pprint(sys.path)  
['',
'/Users/Bryan/work/django-trunk', 
'/usr/local/lib/python2.6/site-packages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages']
显然,这不是所有必需的路径,因为我无法运行iPython

$ ipython  
Traceback (most recent call last):  
  File "/usr/local/bin/ipython", line 5, in <module>  
  from pkg_resources import load_entry_point  
ImportError: No module named `pkg_resources`
$ipython
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/ipython”,第5行,在
从打包资源导入加载入口点
ImportError:没有名为'pkg_resources'的模块`
我做过谷歌搜索,但我真的不知道如何安装
pkg_资源
,或者确保它在路径上

我需要做什么来修复此问题?

在我的系统(OSX 10.6)上,该软件包位于

/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py

我希望这能帮助你找出它是丢失了还是不在你的道路上;DR
pkg_资源
由或提供

[更新2]正如在PyCon 2013上宣布的那样,
分发
设置工具
项目已经重新合并
Distribute
现在已不推荐使用,您只需使用最新的
setuptools
。试试这个:

curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py
或者,更好的方法是使用电流作为高级接口,并在外壳下使用
setuptools

[针对OP具体问题的详细回答]:

你在问题中没有说,但我假设你是从苹果提供的Python(10.5上的2.5或10.6上的2.6.1)升级的,或者你是从Python.org上的Python 2.5升级的。在所有这些情况下,重要的一点是每个Python实例都有自己的库,包括自己的站点包库,这是安装其他包的地方。(顺便说一句,默认情况下,它们都不使用
/usr/local/lib
)这意味着您需要安装新的python 2.6所需的附加软件包。最简单的方法是首先确保新的python2.6首先出现在您的搜索
$PATH
(也就是说,键入
python2.6
会按预期调用它);python2.6安装程序应该已经修改了您的
.bash\u配置文件
,将其框架bin目录放在
$PATH
的前面。然后按照此处的说明安装
easy\u install
。此步骤还将自动安装
pkg_资源
模块

然后使用新安装的
easy\u install
(或
pip
)版本安装
ipython

easy_install ipython


它应该自动安装到该python实例的正确的
站点包
位置,您应该准备好了。

如果在mac os 10.7上升级python,而pkg_资源不起作用,修复此问题的最简单方法就是如上所述重新安装setuptools

sudo pip install setuptools --upgrade
or sudo easy_install install setuptools --upgrade

我遇到了相同的
ImportError
。不知怎的,
setuptools
包在我的Python环境中被删除了

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

curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python
如果您有低于0.6的任何版本或任何
setuptools
,则必须先卸载它*

有关更多详细信息,请参阅



*如果您已经有了一个可用的
分发
,那么将其升级到“兼容性包装器”将更容易切换到
设置工具
。但是如果事情已经坏了,不要尝试那样做。

原因可能是Python模块不在PYTHONPATH中

如果你不加载IPython,然后 python setup.py安装

安装程序不会将模块IPython添加到python路径中。 您可能希望手动将其添加到PYTHONPATH。在您执行以下操作后,它应该可以工作:

导出PYTHONPATH=/pathtoIPython:$PYTHONPATH


在.bashrc或.profile中添加这一行以使其永久化。

我意识到这与OSX无关,但在嵌入式系统(Beagle Bone Angstrom)上,我收到了完全相同的错误消息。安装以下ipk包解决了此问题

opkg install python-setuptools
opkg install python-pip

我在Ubuntu上遇到了这个错误,以下几点对我有效:

已删除dropbox二进制文件,并通过运行以下命令再次下载它们:

sudo rm -rf /var/lib/dropbox/.dropbox-dist
dropbox start -i

我在从事高速公路相关项目时遇到了同样的问题

1) 所以我下载了setuptools.-0.9.8.tar.gz表单并将其解压缩

2)然后我获取pkg_资源模块并将其复制到需要的文件夹中。
**在我的例子中,文件夹是C:\Python27\Lib\site packages\autobahn

在我的例子中,包
python pygments
丢失了。您可以通过以下命令进行修复:

sudo-apt-get-install-python-pygments

如果
pandoc有问题
。您应该安装
pandoc
pandoc citeproc


sudo apt get install pandoc pandoc citeproc

只有在您可以卸载python的情况下才尝试此操作

我使用

brew uninstall python
然后使用

brew install python

然后成功了

昨晚我试图安装setuptools时把事情搞砸了。我忘记了通过运行.egg文件来完成安装,就好像它是一个shell文件一样sh setuptools-0.6c11-py2.6.egg我想这是在某处添加了新的Python路径。注意:为我解决此问题的实际答案如下-请参阅,我对这个旧答案进行了一些更新,使其更加明显,解决方案是安装
分发
setuptools
。具体步骤见链接。OP的问题涉及其他项目。进一步编辑以反映
distribute
对新
设置工具的反对,并提及
pip
。获取
python ez_setup.py文件“ez_setup.py”,第1行^SyntaxError:无效语法
:(这是正确的方法。没有pkg_资源,
easy_install
也可能无法工作(因此
eas
brew install python