【问题标题】:pip giving "ImportError: No module named setuptools" but I can import setuptools in python interpreterpip 给出“ImportError:没有名为 setuptools 的模块”,但我可以在 python 解释器中导入 setuptools
【发布时间】:2012-09-09 00:48:31
【问题描述】:

我正在一台新的 mac 上进行设置,我一直在正常运行,安装 pip 和一些软件包。突然之间,我尝试运行的每个 pip 命令都会抛出

Exception:
Traceback (most recent call last):
  File "/Library/Python/2.6/site-packages/pip-1.2.1-py2.6.egg/pip/basecommand.py", line 107, in main
    status = self.run(options, args)
  File "/Library/Python/2.6/site-packages/pip-1.2.1-py2.6.egg/pip/commands/install.py", line 248, in run
    import setuptools
ImportError: No module named setuptools

我想我不小心删除了一个目录或其他东西,所以我尝试重新安装 setuptools,遵循本网站上 other answers 的建议。我从here 下载了 setuptools egg 并像 shell 脚本一样运行它。得到这个输出:

Processing setuptools-0.6c11-py2.7.egg
Removing /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Copying setuptools-0.6c11-py2.7.egg to /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
setuptools 0.6c11 is already the active version in easy-install.pth
Installing easy_install script to /Library/Frameworks/Python.framework/Versions/2.7/bin
Installing easy_install-2.7 script to /Library/Frameworks/Python.framework/Versions/2.7/bin

Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Processing dependencies for setuptools==0.6c11
Finished processing dependencies for setuptools==0.6c11

现在,如果我启动一个交互式 python 会话,我可以import setuptools 没有错误,但是 pip(和其他命令行脚本)抱怨它没有安装。任何想法为什么 Python 似乎能找到它,而不是其他脚本?

如果有帮助,这就是sys.path 中的内容:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

【问题讨论】:

  • 请注意,您的 pip 错误在跟踪中显示 Python 2.6,但其余的是使用 Python 2.7 您的 pip 顶级脚本的第一行是什么样的?

标签: python pip setuptools


【解决方案1】:

您的pip 似乎与您的 Python 不一致。比较:

File "/Library/Python/2.6/site-packages/pip-1.2.1-py2.6.egg/pip/basecommand.py", line 107, in main

Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg

如果python2.7有setuptools,那么你应该有

/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install-2.7

可用,在这种情况下

easy_install-2.7 pip

应该给你pip-2.7

【讨论】:

  • 我意识到实际问题只是我需要在安装 Python 2.7 后重新启动。当我从 2.6 升级时,有些东西没有得到正确清理。但是指定使用哪个easy_install 也可以解决问题。
猜你喜欢
  • 2013-01-03
  • 2017-11-12
  • 2013-05-26
  • 1970-01-01
  • 2018-05-24
  • 2020-02-24
  • 2014-04-27
  • 2017-08-26
  • 1970-01-01
相关资源
最近更新 更多