激活虚拟环境不起作用

Hun*_*nsu 13 python virtualenv

我创建了两个virtualenv,我安装了两个不同版本的django.现在我有一个问题来激活这两个环境,我喜欢这样:

source Django1.6/bin/activate
Run Code Online (Sandbox Code Playgroud)

然后我看到环境被激活了.然后我做:

pip install django # for test
Run Code Online (Sandbox Code Playgroud)

我收到这条消息:

Requirement already satisfied (use --upgrade to upgrade): 
                                 django in /usr/local/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)

这告诉环境未激活但使用默认环境.为什么我得到这个?

Hun*_*nsu 25

更改环境位置时,我们必须virtualenv在新文件夹上执行.在寻找激活文件时,我发现了以下代码:

VIRTUAL_ENV="/old/folder"
export VIRTUAL_ENV
Run Code Online (Sandbox Code Playgroud)

当我们virtualenv在新文件夹上执行时,此变量将更新.


Siy*_*lav 6

假设您已经安装了两个虚拟环境venv1venv2.

virtualenv venv1
virtualenv venv2
Run Code Online (Sandbox Code Playgroud)

Virtualenv将创建目录并安装相关的Python库,PIP等.

一次激活一个环境.你的东西和停用.

source venv1/bin/activate    
# make changes to the environment. i.e pip install django==1.6.8
deactivate

source venv2/bin/activate   
# make changes to the environment. i.e pip install django==1.7.1
deactivate
Run Code Online (Sandbox Code Playgroud)

可以检查已安装的django版本.

source venv1/bin/activate
python
import django
django.VERSION
[. . . . make note of the version of django running . . . .]
deactivate

source venv2/bin/activate
python
import django
django.VERSION
[. . . . make note of the version of django running . . . .]
deactivate
Run Code Online (Sandbox Code Playgroud)

如果一切都正确完成,您应该会看到每个virtualenv中运行不同版本的Django.

希望能帮助到你.