在VirtualEnvironment中安装python numpy

在VirtualEnvironment中安装python numpy,python,numpy,ubuntu-12.04,virtualenv,Python,Numpy,Ubuntu 12.04,Virtualenv,我想在Virtualenv环境中安装python numpy。我的系统是Ubuntu 12.04,python是2.7.5。首先,我安装了Virtualenv $ sudo apt-get install python-virtualenv 然后通过 $ mkdir myproject $ cd myproject $ virtualenv venv New python executable in venv/bin/python Installing distribute..........

我想在Virtualenv环境中安装python numpy。我的系统是Ubuntu 12.04,python是2.7.5。首先,我安装了Virtualenv

$ sudo apt-get install python-virtualenv
然后通过

$ mkdir myproject
$ cd myproject
$ virtualenv venv
New python executable in venv/bin/python
Installing distribute............done.
$ sudo apt-get install python-numpy
激活它

$ . venv/bin/activate
通过在环境中安装python numpy

$ mkdir myproject
$ cd myproject
$ virtualenv venv
New python executable in venv/bin/python
Installing distribute............done.
$ sudo apt-get install python-numpy

然而,在完成上述所有步骤后,我尝试在环境中导入python中的numpy。Python告诉我“没有名为numpy的模块”。然而,numpy可以在Python中全局导入。我尝试过多次删除和安装,但都不起作用。我是Python和Linux的初学者

apt get
仍将在全球范围内安装模块,即使您使用的是新的
virtualenv

您应该在虚拟环境中使用
pip install numpy
(最简单的方法),或者使用源目录根目录中的
setup.py
文件从源代码编译和安装
numpy
(稍微难一点的方法,)

我还完全建议您看看,这使管理虚拟环境更加友好

编辑: 您应该不要使用
sudo
,或者创建虚拟环境,或者在其中安装东西-它是主文件夹中的一个目录,您不需要提升权限即可对其进行更改。如果您使用
sudo
pip
将更改您的全局站点软件包,而不是虚拟环境,因此您无法在本地安装
numpy

另一个要考虑的是,默认情况下,新的<代码> ValueLeVS <代码>将从全局<代码>站点包< /代码>继承——即如果Python不能在您的代码> VielalEnv中找到本地模块,Python也将查看您的全局站点包<强> *<强>。在您的情况下,由于您已经全局安装了

numpy
(使用
apt get
),因此当您尝试在虚拟环境中
pip安装numpy
时,
pip
会看到
numpy
已经在您的Python路径中,并且不会在本地安装它

你可以:

  • 创建
    virtualenv
    时,请传递
    --无站点包
    选项。这将防止新的
    virtualenv
    从全局站点包继承,因此所有内容都必须在本地安装

  • 强制
    pip
    在本地安装/升级
    numpy
    ,例如使用
    pip安装-U--强制numpy



  • *
    virtualenv
    的默认行为是不包括全局
    站点包
    目录。在创建新的虚拟环境时,您可以通过传递
    --system site packages
    标志来覆盖这一点。

    干涉PYTHONPATH for site packages确实会破坏virtalenv的功能。对我来说,有效的方法是指定我希望通过pip安装包的环境

    例如:

    pip -E /home/proj1 
    
    其中
    proj1
    是使用virtualenv创建的


    参考:

    尝试设置环境变量
    PYTHONPATH
    指向numpy模块所在的文件夹,在Windows中它是
    C:\Python27\Lib\site packages
    您能告诉我如何设置PYTHONPATH吗?我是一个非常初学者。谢谢你:
    export PYTHONPATH=path\u to\u site\u packages…
    让我知道这是否有效…@SaulloCastro非常感谢!它起作用了!这让我困惑了好几天!我把它作为答案贴了出来,这样你就可以接受它了……;)谢谢你的帮助。我试着在virtualenv中使用pip。已成功安装(已成功安装numpy清理…),但是当我在virtualenv中导入numpy时,我还没有工作。你能检查一下
    venv/lib/python2.7/site packages/
    中是否存在
    numpy
    目录吗?当你在
    virtualenv
    中时,你还能检查
    哪个python
    的输出吗
    /home/myname/myproject/venv/bin/python
    而不是您的全局python。不,它不在那里,但为什么它说安装成功:(python的输出是“/home/kevin/python/python-2.7.5/myproject/flask/venv/bin/python”