pip给出"ImportError:没有名为setuptools的模块",但我可以在python解释器中导入setuptools

Har*_*ody 7 python pip setuptools

我正在设置一个新的Mac,我正在哼唱,安装点和几个包.突然之间,我尝试运行的每个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
Run Code Online (Sandbox Code Playgroud)

我想我不小心删除了一个目录或其他东西,所以我尝试重新安装setuptools,遵循本网站上其他答案的建议.我从这里下载了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
Run Code Online (Sandbox Code Playgroud)

现在,如果我开始一个交互式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
Run Code Online (Sandbox Code Playgroud)

DSM*_*DSM 7

pip似乎与你的Python不一致.相比:

File "/Library/Python/2.6/site-packages/pip-1.2.1-py2.6.egg/pip/basecommand.py", line 107, in main
Run Code Online (Sandbox Code Playgroud)

Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Run Code Online (Sandbox Code Playgroud)

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

/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install-2.7
Run Code Online (Sandbox Code Playgroud)

可用,在这种情况下

easy_install-2.7 pip
Run Code Online (Sandbox Code Playgroud)

应该给你pip-2.7.

  • 我意识到实际问题只是我需要在安装Python 2.7后重新启动.当我从2.6升级时,事情没有得到适当的清理.但是指定使用哪个`easy_install`也可以做到. (2认同)