虚拟环境激活不成功

22 投票
4 回答
71889 浏览
提问于 2025-04-18 08:23

我创建了两个虚拟环境,并安装了两个不同版本的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

这说明环境没有被激活,而是使用了默认的环境。为什么会这样呢?

4 个回答

0

如果你改了包含你项目的文件夹名字,那么你需要重新创建虚拟环境,因为你的路径设置不会自动更新。

python -m venv venv --clear
source venv/bin/activate
0

在我的情况下,问题是我在激活虚拟环境时没有使用源命令。

我犯的错误是:

venv\Script\activate

正确的方法是:

source venv\Script\activate
20

假设你安装了两个虚拟环境,分别叫venv1venv2

virtualenv venv1
virtualenv venv2

虚拟环境会创建一些文件夹,并安装相关的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

如果一切都设置正确,你应该会在每个虚拟环境中看到不同版本的Django在运行。

40

当我们更改环境的位置时,必须在新文件夹中执行 virtualenv 命令。

在查找激活文件时,我发现了这段代码:

VIRTUAL_ENV="/old/folder"
export VIRTUAL_ENV

当我们在新文件夹中执行 virtualenv 时,这个变量会被更新。

撰写回答