是什么引起ImportError:在OS X上升级Python之后,没有名为pkg_resources的模块?
我刚刚在Mac上将Python更新为2.6.4。我是从dmg软件包安装的。
二进制文件似乎没有正确设置我的Python路径,因此我添加'/usr/local/lib/python2.6/site-
packages'
了.bash_profile
>>> 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`
我已经完成了Google搜索,但无法真正确定如何安装pkg_resources
或确保它已经在路上。
我需要怎么做才能解决此问题?
-
[更新] TL;
DRpkg_resources
由Distribute或setuptools提供。[更新2]正如在PyCon 2013上宣布的,
Distribute
和setuptools
项目已重新合并。
Distribute
现在已弃用,您应该只使用new currentsetuptools
。尝试这个:curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py python ez_setup.py
或者更好的是,使用电流
pip
作为高级接口,并setuptools
在幕后使用。[针对OP的特定问题的更长的答案]:
您没有在问题中说,但我假设您从Apple提供的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_profile
,将其框架bin目录放在的前面$PATH
。然后easy_install
使用安装按照此处的说明进行安装。该pkg_resources
模块也被自动通过此步骤进行安装。然后使用
easy_install
(或pip
)的新安装版本进行安装ipython
。easy_install ipython
要么
pip install ipython
它应该会自动安装到该
site-packages
python实例的正确位置,您应该一切顺利。