激活虚拟环境不起作用

问题描述 投票:0回答:4

我创建了两个 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

这表明环境尚未激活,但使用默认环境。为什么我会收到这个?

python virtualenv
4个回答
40
投票

更改环境位置时,我们必须在新文件夹上执行

virtualenv
。 当寻找激活文件时,我发现了这段代码:

VIRTUAL_ENV="/old/folder"
export VIRTUAL_ENV

当我们在新文件夹上执行

virtualenv
时,此变量将更新。


20
投票

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

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。


0
投票

就我而言,问题是我在激活虚拟环境时没有使用源代码

我犯的错误

venv\Script\activate

正确的方法

source venv\Script\activate

0
投票

如果您重命名了包含项目的任何目录,那么您将必须重新创建虚拟环境,因为您的 PATH 变量不会自动更新。

python -m venv venv --clear
source venv/bin/activate
© www.soinside.com 2019 - 2024. All rights reserved.