Nav*_*wal 7 python macos packages pip macports
我使用macports安装了python26,所以我系统上正确的python是 /opt/local/bin/python
但是,当我这样做的时候
sudo pip install <packagename>
Run Code Online (Sandbox Code Playgroud)
它给了我
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
Run Code Online (Sandbox Code Playgroud)
所以,我怀疑它正在使用系统python.我已经通过他们的站点说明安装了distribute(包含setuptools).我也通过安装程序安装了pip.我不知怎的设法破坏了我认为的系统python的setuptools,所以这就是我现在遇到这个问题的原因:(
我该怎么办才能让pip再次工作?
Ioa*_*dis 14
总结以上内容,使用Macports安装pip:
sudo port install py27-pip
Run Code Online (Sandbox Code Playgroud)
导致安装名为py27-pip的包.
但是,没有/opt/local/bin/pip安装和/ port select pip或port select py27-pip两者都失败(与a相反port select python).bin通常不建议更改另一个发行版目录中的内容.
请注意,/usr/binpython链接指向Apple预安装的python,/usr/local/bin指向MacPython从python.org安装的那些,而Macports则/opt/local/bin安装链接.通过ls -ls应用于每个bin目录中的各种python文件,可以找到实际的库安装.
要确保调用Macports文件,请导出最后一个Macports的路径.bash_profile.例如,如果您安装了Macports然后碰巧从python.org安装了二进制发行版,那么您将在稍后使用它的路径~/.bash_profile,因此它将首先出现在路径变量中,而Macpython将会影响Macports.
确保路径设置正确后,系统仍然无法pip在Macports bin目录中找到命令,因为它已安装为,pip-2.7并且不会pip自动创建.
结果,系统继续搜索路径,例如,如果某个地方稍后将Macpython添加到路径并安装了pip,那么该pip将显示出来.
上面提出的命令可以避免这种情况:
sudo ln -s /opt/local/bin/pip-2.7 /opt/local/bin/pip
Run Code Online (Sandbox Code Playgroud)