我创建了两个 virtualenv,并安装了两个不同版本的 django。现在我在激活两个环境时遇到问题,我喜欢这样:
source Django1.6/bin/activate
然后我看到环境被激活了。那我就做:
pip install django # for test
我收到这条消息:
Requirement already satisfied (use --upgrade to upgrade):
django in /usr/local/lib/python2.7/dist-packages
这表明环境尚未激活,但使用默认环境。为什么我会收到这个?
更改环境位置时,我们必须在新文件夹上执行
virtualenv
。
当寻找激活文件时,我发现了这段代码:
VIRTUAL_ENV="/old/folder"
export VIRTUAL_ENV
当我们在新文件夹上执行
virtualenv
时,此变量将更新。
假设您安装了两个虚拟环境venv1和venv2。
virtualenv venv1
virtualenv venv2
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
可以检查已安装的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
如果一切都正确完成,您应该会看到每个 virtualenv 中运行不同版本的 Django。
就我而言,问题是我在激活虚拟环境时没有使用源代码
我犯的错误
venv\Script\activate
正确的方法
source venv\Script\activate
如果您重命名了包含项目的任何目录,那么您将必须重新创建虚拟环境,因为您的 PATH 变量不会自动更新。
python -m venv venv --clear
source venv/bin/activate