82

我刚刚在我的 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`

我已经完成了谷歌搜索,但我无法真正弄清楚如何安装pkg_resources或确保它在路径上。

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

4

10 回答 10

76

我也遇到过ImportError。不知何故,该setuptools包已在我的 Python 环境中被删除。

要解决此问题,请运行以下设置脚本setuptools

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

如果您有任何版本distribute,或任何setuptools低于 0.6 的版本,您必须先卸载它。*

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


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

于 2012-05-10T16:25:53.067 回答
74

[更新] TL;DRpkg_resourcesDistributesetuptools提供。

[更新 2] 正如在 PyCon 2013 上宣布的那样,Distributesetuptools项目已经重新合并。 Distribute现在已弃用,您应该只使用新的 current setuptools。试试这个:

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使用setuptools按照那里的说明进行操作。pkg_resources此步骤也会自动安装该模块。

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

easy_install ipython

或者

pip install ipython

它应该会自动安装到该site-packagespython 实例的正确位置,您应该一切顺利。

于 2009-11-18T16:31:32.290 回答
7

如果在 mac os 10.7 上升级你的 python 并且 pkg_resources 不起作用,解决这个问题的最简单方法是重新安装 setuptools,就像上面提到的 Ned 一样。

sudo pip install setuptools --upgrade
or sudo easy_install install setuptools --upgrade
于 2012-03-27T04:57:37.000 回答
3

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

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

我希望这可以帮助您确定它是否丢失或不在您的路径上。

于 2009-11-18T15:25:02.547 回答
1

原因可能是因为 IPython 模块不在您的 PYTHONPATH 中。

如果您下载 IPython 然后执行 python setup.py install

该设置不会将模块 IPython 添加到您的 python 路径中。您可能希望手动将其添加到您的 PYTHONPATH 中。它应该在你这样做之后工作:

导出 PYTHONPATH=/pathtoIPython:$PYTHONPATH

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

于 2013-08-21T17:03:28.173 回答
0

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

opkg install python-setuptools
opkg install python-pip
于 2014-01-28T22:07:56.473 回答
0

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

通过运行删除 Dropbox 二进制文件并再次下载它们:

sudo rm -rf /var/lib/dropbox/.dropbox-dist
dropbox start -i
于 2014-07-07T11:41:11.357 回答
0

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

1) 所以我从https://pypi.python.org/packages/source/s/setuptools/下载 setuptools.-0.9.8.tar.gz并解压。

2)然后我得到 pkg_resources 模块并将其复制到它需要的文件夹中。**在我的情况下,该文件夹是 C:\Python27\Lib\site-packages\autobahn

于 2014-10-08T13:05:55.623 回答
0

就我而言,包裹python-pygments丢失了。您可以通过以下命令修复它:

sudo apt-get install python-pygments

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

sudo apt-get install pandoc pandoc-citeproc

于 2016-08-29T16:34:52.323 回答
0

仅当您可以卸载 python 时才尝试此操作。

我使用卸载了python

brew uninstall python

然后稍后安装使用

brew install python

然后它起作用了!

于 2021-01-05T07:48:11.953 回答