Django未安装在virtualenv中


问题内容

我正在使用Linux(Lubuntu),并且已经安装了virtualenv

sudo easy_install virtualenv

然后做了

mkdir virt_env

并创建一个文件夹来保存virtualenv。接下来,我做了

virtualenv virt_env/virt1 --no-site-packages

创造了环境 接下来,我像这样激活它:

source virt_env/virt1/bin/activate

一切顺利。然后,我做了

sudo pip install Django

并表示已成功安装。然后我做了

pip freeze

并且未列出Django。我停用了virtualenv并做了

pip freeze

Django就在那里。为什么它在系统范围内而不是在virtualenv中安装Django?然后我再次激活了virtualenv并尝试

sudo pip install Django

它说

Requirement already satisfied (use --upgrade to upgrade): Django in /usr/local/lib/python2.7/dist-packages

如何在virtualenv中而非系统范围内安装它?


问题答案:

尝试进入virt1目录,然后运行“ bin/pip install django”。您正在使用系统范围内的点而不是virt1 / bin中的点。

bin, include, lib, local当您在目录中初始化virtualenv时,它将创建四个目录()。“
lib”是virtualenv保留所有您的virtualenv特定python软件包的目录。使用bin /
pip安装django,然后在Django中找到它lib/python2.x/site-packages/

查找环境中安装的python软件包时,请使用“ bin/pip freeze”代替“ pip freeze”。

脚步:

>> mkdir virtualenv_test
>> cd virtualenv_test
>> virutalenv . --no-site-packages
>> source bin/activate
>> bin/pip install django
>> bin/pip freeze