use*_*756 8 python numpy virtualenv ubuntu-12.04
我想在Virtualenv环境中安装python-numpy.我的系统是Ubuntu 12.04,我的python是2.7.5.首先我安装了Virtualenv
$ sudo apt-get install python-virtualenv
Run Code Online (Sandbox Code Playgroud)
然后通过建立一个环境
$ mkdir myproject
$ cd myproject
$ virtualenv venv
New python executable in venv/bin/python
Installing distribute............done.
Run Code Online (Sandbox Code Playgroud)
激活它
$ . venv/bin/activate
Run Code Online (Sandbox Code Playgroud)
在环境中安装了python-numpy
$ sudo apt-get install python-numpy
Run Code Online (Sandbox Code Playgroud)
但是,我尝试在完成上述所有步骤后在环境中导入python中的numpy.Python告诉我"没有名为numpy的模块".然而,numpy可以在全球范围内导入Python.我试图删除和安装很多次,但它不起作用.我是Python和Linux的初学者.
apt-get
仍然会在全球安装模块,即使你在新的模块中也是如此virtualenv
.
您应该pip install numpy
在虚拟环境中使用(最简单的方法),或者numpy
使用setup.py
源目录的根目录中的文件进行编译和安装(稍微更难,请参见此处).
我还建议您仔细阅读virtualenvwrapper
,这使得管理虚拟环境更加友好.
您不应该使用sudo
它来创建虚拟环境或在其中安装内容 - 它是您的主文件夹中的目录,您不需要提升权限来对其进行更改.如果您使用sudo
,pip
将更改您的全局站点包,而不是您的虚拟环境,因此您无法在numpy
本地安装.
另一件需要考虑的事情是,默认情况下,new *.在您的情况下,由于您已经virtualenvs
将从全局继承site-packages
- 即如果Python无法在您的本地找到模块virtualenv
,Python也将查找您的全局站点包numpy
全局安装(使用apt-get
),当您尝试pip install numpy
在虚拟环境中时,pip
看到它numpy
已经在您的Python路径中并且不在本地安装它.
你可以:
--no-site-packages
创建时通过该选项virtualenv
.这可以防止新virtualenv
的继承自全局站点包,因此必须在本地安装所有内容.
强制pip
在numpy
本地安装/升级,例如使用pip install -U --force numpy
* 从v1.7开始,默认行为virtualenv
是不包括全局site-packages
目录.您可以--system-site-packages
在创建新虚拟环境时通过传递标记来覆盖它.