首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >virtualenv中的模块导入错误,但是pip列表--本地显示

virtualenv中的模块导入错误,但是pip列表--本地显示
EN

Stack Overflow用户
提问于 2017-12-22 14:11:05
回答 1查看 996关注 0票数 0

我想知道下面的importError,我骑不下它。我有一个本地virtualenv (venv),它安装了多个模块:

代码语言:javascript
复制
(venv) stam@stam:~$ pip list --local

cryptography (1.5.2)
cvxopt (1.1.9)
cycler (0.10.0)
Cython (0.25.1)
matplotlib (1.5.3)
more-itertools (2.2)
ndg-httpsclient (0.4.2)
numpy (1.11.2)
pandas (0.19.0)
paramiko (1.15.2)
Pillow (2.8.1)
pip (8.1.2)
psycopg2 (2.6)
python-apt (0.9.3.12)
python-dateutil (2.5.3)
python-debian (0.1.27)
scipy (0.18.1)
setuptools (28.6.1)
simplejson (3.8.2)
urllib3 (1.9.1)
wheel (0.24.0)
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(venv) stam@stam:~$ 

现在,启动python解释器并尝试导入cvxopt (注意,它在上面的列表中)给了我一个importError。为什么会这样呢?我正在使用正确的python版本,我在of上工作,所以所有的事情都应该是开箱即用的。

代码语言:javascript
复制
(venv) stam@stam:~$ python
Python 2.7.9 (default, Aug 13 2016, 16:41:35) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cvxopt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cvxopt
>>> 

我有点迷茫,不知道该如何解决这个问题。似乎正确的python版本已经启动,至少我已经将其附加到虚拟环境中了。

在评论中要求的额外输出

代码语言:javascript
复制
(venv) stam@stam:~$ which python
/usr/bin/python
(venv) stam@stam:~$ which pip
/usr/local/bin/pip
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-22 16:10:51

根据which的输出,您的python和pip显然属于两个不同的实例。因此,您安装的所有库都将安装到其他python实例中。

最重要的解决方法是强制pip通过指定的解释器运行:

代码语言:javascript
复制
python -m pip list --local
python -m pip install cvxopt
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47942901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档