如何让系统python找到通过pip安装的模块?

时间:2017-04-26 04:35:03

标签: python pip

我有两个版本的python,/usr/bin/python(MacOS版本2.7.10)& /usr/local/bin/python(通过brew安装版本2.7.13)。

我使用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个软件包,卸载brew python + pip,然后通过pip为sys的python安装python get-pip.py,这可能会导致{{1}错误},为wheel设置选项--no-setuptools& --no-wheel,安装或升级python get-pip.py& setuptools通过wheel。最后安装pip,问题解决了!

2 个答案:

答案 0 :(得分:3)

将版本化的Python命令与-m开关结合使用,以运行相应的pip副本。

python2 -m pip install SomePackage #default Python 2

python2.7.10 -m pip install SomePackage#具体是Python 2.7.10

check this

最佳做法是使用virtualenv

如果要使用pip将软件包安装到特定位置, 你可以简单地做到

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

使用--target选项,

pip install --target=<path> package_name

您还需要将<path>位置添加到PYTHONPATH

答案 1 :(得分:0)

/usr/bin/python您必须install pip并通过新的pip安装安装 protobuf