什么导致了ImportError:在os X上升级Python后没有名为pkg_resources的模块?

2024-04-25 16:35:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚在我的Mac上把Python更新到了2.6.4。 我是从dmg包安装的。

二进制文件似乎没有正确设置我的Python路径,因此我在.bash_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`

我做过Google搜索,但我真的不知道如何安装pkg_resources或者确保它在路径上。

我需要做什么来解决这个问题?


Tags: 路径maclibpackagesusrlocallibrarysite
3条回答

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

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

curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python

如果您有任何版本的^{},或0.6以下的setuptools,则必须先卸载它。*

有关详细信息,请参见Installation Instructions


*如果您已经有一个可以工作的distribute,那么将其升级到“兼容性包装器”将更容易切换到setuptools。但如果事情已经坏了,就不要去尝试。

如果在mac os 10.7上升级python而pkg_资源不起作用,最简单的解决方法就是重新安装上面提到的setuptools。

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

[更新]TL;DRpkg_resourcesDistributesetuptools提供。

[更新2]如PyCon 2013所宣布的,Distributesetuptools项目已经重新合并。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实例都有自己的库,包括自己的site packages库,这是安装其他包的地方。(顺便说一下,默认情况下,它们都不使用/usr/local/lib),这意味着您需要安装新的python 2.6所需的附加软件包。最简单的方法是首先确保新的python2.6首先出现在您的搜索中$PATH(即,键入python2.6按预期调用它);python2.6安装程序应该已经修改了.bash_profile,将其framework bin目录放在$PATH的前面。然后按照那里的说明使用setuptools安装easy_install。此步骤还将自动安装pkg_resources模块。

然后使用新安装的easy_install(或pip)版本安装ipython

easy_install ipython

或者

pip install ipython

它应该会自动安装到该python实例的正确位置,您应该可以继续。

相关问题 更多 >

    热门问题