当前位置: 首页 > 面试题库 >

是什么引起ImportError:在OS X上升级Python之后,没有名为pkg_resources的模块?

长孙永思
2023-03-14
问题内容

我刚刚在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上宣布的,Distributesetuptools项目已重新合并。
Distribute现在已弃用,您应该只使用new 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安装html" target="_blank">程序应该已经修改了您的.bash_profile,将其框架bin目录放在的前面$PATH。然后easy_install使用安装按照此处的说明进行安装。该pkg_resources模块也被自动通过此步骤进行安装。

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

easy_install ipython

要么

pip install ipython

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



 类似资料:
  • 问题内容: 我正在将Django应用程序部署到开发服务器,并且在运行时遇到此错误pip install -r requirements.txt: 似乎与一起分发。最初,我认为这可能不会安装到中的Python,所以我使用以下命令将了(与Python相同的版本)安装到中的Python站点软件包: 编辑:这只发生在内部。如果我在外部打开控制台,则该控制台存在,但仍然出现相同的错误。 关于为什么不在路上的

  • 问题内容: 我正在尝试在OSX上运行PyQt5。我下载并安装了Qt5二进制文件。然后,我下载了最新的SIP源,并进行了编译和安装。最后,我下载了最新版本的PyQt,对其进行了编译和安装。 我正在尝试使其在默认的Python 2.7安装上运行。看来文件已安装到/System/Library/Frameworks/Python.framework/Versions/2.7/share/sip/PyQt

  • 问题内容: 我正在将Django应用程序部署到开发服务器,并且在运行时遇到此错误: 似乎与一起分发。最初,我认为这可能不会安装到virtualenv中的Python,所以我使用以下命令将了(与Python相同的版本)安装到virtualenv 中的Python站点软件包: 编辑:这只发生在virtualenv内部。如果我在virtualenv外部打开控制台,则该控制台存在,但仍然出现相同的错误。

  • 问题内容: 我在Windows 7上使用python 3.4。为了打开一个doc文件,我正在使用此代码 我不确定为什么每次都会弹出此错误 ImportError:没有名为win32api的模块 虽然我已经从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32安装了pywin32, 并且我还检查了导入路径…我也尝试过重新安装pywin32,但这并没有消

  • 我在Python 3中安装软件包遇到了麻烦。 我一直使用安装软件包。但现在,当我尝试安装ansicolors软件包时,我得到了: 我不知道该怎么做,因为我没有安装setupool在过去。尽管如此,我还是能够安装许多包与没有setupols。为什么我现在应该安装工具? 我甚至不能安装setuptools,因为我有python3.3,而setuptools不支持python3。 为什么我的instal

  • 问题内容: 我已经安装了pip和ez安装程序。我还检查了系统路径,可以在文件夹结构中看到该模块。仍然,当我尝试运行pip命令时,仍然出现导入错误,提示没有名为pip的模块。我在Windows7机器上运行32位python 问题答案: 只要确保您将python包含到Windows PATH变量中,然后运行