【问题标题】:Python can't see modules installed with pipPython 看不到使用 pip 安装的模块
【发布时间】:2013-12-18 10:51:43
【问题描述】:

我正在使用全新的 Python virtualenv。我刚刚使用 pip 安装了httplib2,但是 Python 看不到它。

(venv)$ sudo pip install httplib2
Requirement already satisfied (use --upgrade to upgrade): httplib2 in     
/usr/local/lib/python2.7/dist-packages
Cleaning up...
(venv)$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import httplib2
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 ImportError: No module named httplib2

根据我的阅读,这听起来可能是路径问题,但我不知道为什么会发生,或者如何解决它:(

这是sys.path的内容:

>>> pprint(sys.path)
['',
 '/var/apps/ttex/venv/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg',
 '/var/apps/ttex/venv/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg',
 '/var/apps/ttex/venv/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg',
 '/var/apps/ttex/venv/lib/python2.7/site-packages/pip-1.1-py2.7.egg',
 '/var/apps/ttex/venv/lib/python2.7',
 '/var/apps/ttex/venv/lib/python2.7/plat-linux2',
 '/var/apps/ttex/venv/lib/python2.7/lib-tk',
 '/var/apps/ttex/venv/lib/python2.7/lib-old',
 '/var/apps/ttex/venv/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/var/apps/ttex/venv/local/lib/python2.7/site-packages',
 '/var/apps/ttex/venv/lib/python2.7/site-packages']

奇怪的是,如果我运行 Python 2.7,我可以看到这个包:

(venv)$ python2.7
>>> import httplib2
>>> 

为什么会发生这种情况,我该怎么办?

抱歉,如果这是重复的,有很多关于这个主题的问题,但似乎没有一个给出简单的明确答案。

【问题讨论】:

    标签: python virtualenv pip


    【解决方案1】:

    在新的 virtualenv 中尝试不使用 sudo。 Pip 认为您希望将其安装在全局范围内,因此安装到 /usr,而不是在您的沙箱中。

    Python packages not installing in virtualenv using pip

    【讨论】:

      猜你喜欢
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 2014-12-19
      • 2020-02-10
      相关资源
      最近更新 更多