“venv activate”不会改变我的Python路径

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

我创建一个虚拟环境;假设 test_venv,我激活它。一切成功。

但是,Python 解释器的路径不会改变。我已经在下面说明了情况。

为了澄清起见,Python 路径应该是

~/Desktop/test_venv/bin/python

>>> python3 -m venv Desktop/test_venv

>>> source Desktop/test_venv/bin/activate

(test_venv) >>> which python
/usr/bin/python 
python python-3.x virtualenv python-venv
3个回答
13
投票

这不是专门针对您的问题的答案,但它对应于问题的标题。我遇到了类似的问题,但在互联网上找不到解决方案。也许有人会利用我的经验。

我为我的 python 项目创建了虚拟环境。一段时间后,我的 python 解释器在虚拟环境激活后也停止变化。和你描述的类似。

我的问题是我前段时间将项目文件夹移动到了另一个目录。如果我将文件夹返回到其原始目录,那么一切都会重新开始工作。

有以下问题解决。您保存所有包要求(例如,使用“pip freeze”或“poetry”)并删除“venv”文件夹(或在您的情况下为“test_venv”文件夹)。之后我们再次创建虚拟环境,激活它并安装所有要求。

这个方法解决了我的问题。


12
投票

请务必阅读注意#2。


如果您不想创建新的虚拟环境,这就是您应该做的事情

venv/bin
文件夹中有 3 个文件明确存储您的 venv 路径 如果路径错误,它们会采用正常的 python 路径,因此您应该将那里的路径更改为新路径。

更改:

set -gx VIRTUAL_ENV "what/ever/path/you/need" 
activate.fish

更改:

VIRTUAL_ENV="what/ever/path/you/need"
activate

更改:

setenv VIRTUAL_ENV "what/ever/path/you/need"
activate.csh

注#1:
路径是去

/venv
而不是去
/venv/bin

注#2:
如果您到达此页面,则意味着您可能没有遵循 Python 的项目结构最佳实践。 如果是的话,创建新虚拟环境的过程只需一个命令行即可。

请考虑使用以下方法之一:

感谢 Khalaimov Dmitrii,我没想到是因为我移动了文件夹。


3
投票

检查 /venv/bin/activate 中 VIRTUAL_ENV 的值。如果您重命名或移动了项目目录,则该值可能仍然是旧值。如果您使用 PyCharm 重命名项目,PyCharm 不会更新您的 venv 文件。如果路径错误,您可以删除 venv 并重新创建一个新的,或者尝试讨论在哪里更改它的答案。

© www.soinside.com 2019 - 2024. All rights reserved.