Virtualenv显示“root”而不是虚拟环境的名称?

4

我经常在很多python项目中使用virtualenv。当我尝试激活其中一个虚拟环境时,我输入了以下命令:

source venv/bin/activate

一般情况下,这样就可以解决问题。但是,与其让我的命令提示符显示:

(venv)me@example:~/

It says:

(root)me@example:~/

我的Python版本要求和已安装在虚拟环境中的包未被识别。为什么会出现这种情况?

也许您使用了 sudo -i 命令获取了 root 用户权限,并在根目录下创建了一个虚拟环境,这就是在使用该命令后您所到达的位置。或者,虚拟环境文件夹的名称为 root - Mikael
我没有使用sudo -i命令,并且虚拟环境文件夹的名称是“venv”。我不知道为什么会发生这种情况,而且我的任何虚拟环境都无法使用,因为这种情况发生了。 - Davis Keene
尝试卸载 virtualenv 并重新安装。 - Mikael
2个回答

4

尝试:

source activate venv

(而不是使用source venv/bin/activate./venv/bin/activate.sh等)


(建议使用以下命令)
THundtMac$ source activate venv
(venv) THundtMac$ source deactivate
THundtMac$ . ./venv/bin/activate
(root) THundtMac$ source deactivate
THundtMac$

我认为这与使用Anaconda和pip安装版本有关。(现在我正在使用conda安装的版本。)


1
一旦进入虚拟环境的bin文件夹,键入: source ./activate 而不是: source activate 这样做解决了我的问题。
请注意,后一个命令实际上会激活一个“基础”环境(如果您使用pip版本的virtualenv,则称为“root”,如果您使用conda版本的virtualenv,则称为“base”),而不是您实际尝试激活的环境。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接