我使用macports安装了python26,所以我系统上正确的python是/opt/local/bin/python
但是,当我这样做时
sudo pip install <packagename>
它给了我
sudo pip install <somepackage>
Exception:
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/pip-1.0.1-py2.6.egg/pip/basecommand.py", line 126, in main
self.run(options, args)
File "/Library/Python/2.6/site-packages/pip-1.0.1-py2.6.egg/pip/commands/install.py", line 215, in run
import setuptools
ImportError: No module named setuptools
Storing complete log in /Users/navin/.pip/pip.log
所以,我怀疑它正在使用系统python。我已经通过他们的站点说明安装了distribute(包含setuptools)。我也通过安装程序安装了pip。我不知怎的设法破坏了我认为的系统python的setuptools,所以这就是我现在遇到这个问题的原因:(
如何让pip重新开始工作?
答案 0 :(得分:14)
总结以上内容,使用Macports安装pip:
sudo port install py27-pip
导致安装名为py27-pip的包。
但是,没有安装/opt/local/bin/pip
且port select pip
或port select py27-pip
都失败(与port select python
相比)。通常不建议更改其他发行版的bin
目录中的内容。
请注意,/usr/bin
python链接指向Apple预安装的python,/usr/local/bin
指向MacPython从python.org安装的那些,而/opt/local/bin
是Macports安装的位置他们的链接。通过ls -ls
应用于每个bin
目录中的各种python文件,可以找到实际的库安装。
要确保调用Macports文件,请在.bash_profile
中导出Macports的最后路径。例如,如果您安装了Macports然后碰巧从python.org安装了二进制发行版,那么您将稍后在~/.bash_profile
中找到它的路径,因此它将首先出现在路径变量中,而Macpython将会影响Macports
确保路径设置正确后,系统仍然无法在Macports pip
目录中找到bin
命令,因为它安装为pip-2.7
且没有{{1自动创建。
结果,系统继续搜索路径,例如,稍后将Macpython添加到某个位置的路径并安装了pip,然后将显示该pip。
这可以通过上面提出的命令来避免:
pip
答案 1 :(得分:12)
使用sudo rm /usr/local/bin/pip
从/ usr / local / bin删除pip。
如果您已安装带有macport的点,则which pip
应显示/opt/local/bin/pip
。如果没有,请按照here说明再次安装pip。只要which python
显示/opt/local
安装,它就应该有效。如果不,则需要修改PATH
env变量。
答案 2 :(得分:3)
这是我的设置,让pip使用macports并将py26-pip设置为默认的pip
sudo port install py26-pip && sudo port select --set pip py26-pip
安装完成后运行以查看pip的帮助信息
pip --help
您可能需要更新路径以包含由pip编辑.bash_profile安装的bin文件以包含类似
的内容export PATH=/opt/local/bin:/opt/local/sbin:/opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin:$PATH
答案 3 :(得分:1)
你应该在安装在/ usr / local / bin /之前的/ opt / local / bin /中安装python和pip。
此外,您应该检查以执行which python
以及是否已在/ opt / local / bin / pip中安装了该点。
答案 4 :(得分:0)
我发现我需要ln -s /opt/local/bin/pip-2.7 /opt/local/bin/pip
。由于某些原因,即使你尝试激活那个版本的python或pip,macport也没有构建那个链接。