如何在Debian的virtualenv中安装numpy?

kjo*_*kjo 4 python numpy pip scipy easy-install

(注意:请参阅另一篇文章,了解为什么我没有使用dpkg/apt-get/etc进行此安装.)

我可以在Debian的virtualenv中安装numpy,例如pip:

(base)[1778]% pip -v install numpy
Downloading/unpacking numpy
 ...
<output omitted>
 ...
Successfully installed numpy
Cleaning up...
  Removing temporary dir /home/jones/.virtualenvs/base/build...
Run Code Online (Sandbox Code Playgroud)

但在此之后立即:

(base)[1779]% python
Python 2.7.1 (r271:86832, Jun 22 2011, 15:39:05)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numpy
>>> ^D
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

kjo*_*kjo 5

好的,我发现了问题.事实证明,即使我的virtualenv处于活动状态(请参阅(base)上面屏幕交互片段中命令行提示的前缀),我仍然需要告诉pip使用它.比如运行之类的东西

pip -E /path/to/virtualenv install numpy
Run Code Online (Sandbox Code Playgroud)

然后在交互式python会话中导入numpy成功(导入的模块是否正常运行,我还不知道).

这很荒谬:我的virtualenv是活动的,我正在运行的pip可执行文件是安装在virtualenv中的那个:

(base)[1801] which pip
/home/jones/.virtualenvs/base/bin/pip
Run Code Online (Sandbox Code Playgroud)

那么,如果pip默认不使用它,那么拥有virtualenv的重点是什么?

  • 1.5版本中没有-E选项,以及安装它的方式$ /home$USER/.."path to virtualenv/ENV"./ virtualenv/ENV/bin/pip install numpy (2认同)