我正在使用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中安装它而不是系统范围?
答案 0 :(得分:7)
尝试cd'ing到virt1目录,然后运行“bin/pip install django
”。您正在使用系统范围的pip而不是virt1 / bin中的pip。
virtualenv在目录中初始化时会创建四个目录(bin, include, lib, local
)。 “lib”是virtualenv保存所有virtualenv特定python包的目录。使用bin / pip安装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