2017-04-26 112 views
0

我有兩個版本的python,/usr/bin/python(MacOS版本2.7.10)& /usr/local/bin/python(版本2.7.13通過brew安裝)。如何讓系統python查找通過pip安裝的模塊?

我用pip(由brew install python安裝)安裝模塊protobuf

/usr/bin/python找不到模塊protobuf,而/usr/local/bin/python能找到它。

我怎樣才能讓/usr/bin/python找到模塊

更新

@RNB 根據安裝,sudo python get-pip.py我有這樣

:Collecting pip 
    Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB) 
    100% |████████████████████████████████| 1.3MB 640kB/s 
Collecting wheel 
    Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB) 
    100% |████████████████████████████████| 71kB 6.3MB/s 
Installing collected packages: pip, wheel 
    Found existing installation: pip 8.1.2 
    Uninstalling pip-8.1.2: 
     Successfully uninstalled pip-8.1.2 
    Rolling back uninstall of pip 
Exception: 
Traceback (most recent call last): 
    File "/tmp/tmpW2v8kJ/pip.zip/pip/basecommand.py", line 215, in main 
    ..... 
    File"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 235, in _compile 
    cachekey = (type(key[0]),) + key 
RuntimeError: maximum recursion depth exceeded while calling a Python object 

解決方案

錯誤 根據@ RNB的意見

,第一清潔所有pip包,卸載釀造蟒蛇+畫中畫,由python get-pip.py SYS的蟒蛇安裝pip,也許它給誤差wheel,所以設置選項--no-setuptools & --no-wheelpython get-pip.py,安裝或通過升級setuptools & wheelpip。最後安裝protobuf,問題解決了!

回答

0

你將不得不爲install pip/usr/bin/python通過你的新點子的安裝安裝protobuf

2

將版本化的Python命令與-m開關結合使用以運行pip的相應副本。

python2 -m pip install SomePackage#默認的Python 2

python2.7.10 -m pip install SomePackage#專門的Python 2.7.10

check this

最佳做法是使用virtualenv

如果你想包安裝到一個特定的使用點的位置, 你可以簡單地做

pip install --install-option="--prefix=$PREFIX_PATH" package_name

使用--target選項,

pip install --target=<path> package_name

,你還需要將<path>位置添加到PYTHONPATH

+0

我想保持清潔的操作系統!所以我想刪除通過brew安裝的python。我遵循@RNB建議爲系統python安裝pip。但我遇到安裝錯誤! – Roby

+0

按照這種方式刪除不需要的python版本:http://stackoverflow.com/a/3819829/4531386 – Surajano