今天 VS Code 已更新至最新版本(1.89,2024 年 4 月)。在此更新之后,每当我打开终端(我使用 Git Bash)时,都会有一个活跃的 Python venv,我无法停用它。我移动到 venv 的目录(设置一个示例,
/c/Users/my.name/my_project
,此文件夹内有我的 Python 脚本和我的 venv,假设它名为 venv_project
。因此,为了尝试停用,我运行 deactivate
命令,但它返回下一条消息:DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.
,就好像它没有检测到 venv(顺便说一句,我没有使用 conda),但是当我运行 pip list
时,我得到了我所使用的每个库的列表已经安装在里面了。
到目前为止,我已经尝试过:
source venv_project/Scripts/activate
,在下一行,终端显示:(venv_project) (venv_project) my.name@CPM00001234 MINGW64 c/Users/my.name/my_project
(请记住,这些路径只是通用示例)。Terminal > New terminal
,然后选择另一个目录,比如说 /c/Users/my.name/another_project
,令人惊讶!该文件夹上的 venv也被激活了(所以我看到这个:(venv_anotherproject) my.name@CPM00001234 MINGW64 c/Users/my.name/another_project
,我遇到了与第一个完全相同的问题。我必须澄清,每当我的 venv 不使用时,我总是尝试停用它们,但即使我忘记这样做,当我关闭 VS Code 并再次打开它,或者只是杀死 Bash 并打开一个新的 Bash 时,venv 不再活跃。
echo $PATH
检查路径上的目录。我这样做只是因为 Copilot 是这么建议的;我不完全理解这条路径是什么,我所知道的是我应该检查我的 venv 目录是否在列表中,而且确实如此。我还应该通过打开我的 bash 配置文件(在本例中为 /c/Users/my.name
)并运行 nano ~/.bashrc
或 .bash_profile
或任何文件名来从路径中删除此目录,但是......没有我的个人资料中存在这样的文件,因此当我运行 nano
命令时,它只是返回一个空屏幕,其中没有目录。pip list
,库消失了,但名称仍然存在,即使在我关闭 VS Code、重新启动计算机并再次打开 VS Code 后也是如此。这些基本上是我尝试解决问题所采取的步骤。问题是,这刚刚开始成为这个新 VS Code 版本的问题,因此,作为替代方案,有没有办法将 VS Code 重置为之前的版本?
PS:我刚刚发现的一件事是,这个问题不会显示在 Windows shell 上,例如 cdm 或 powershell,但它确实显示在 Cygwin(我安装的另一个 shell)上。
我自己还没有处理过这个问题,但听起来可能是环境重复的情况——干扰 conda init #22233。有 维护者评论 关于运行 conda config --set auto_activate_base False
并重新启动 shell 来修复它(尽管它显然不会影响行为?),以及未来对 UI 的改进,仅显示其中之一:采用使用 VS Code API 访问终端输出 #22128,以及与终端环境激活相关的其他更改 - 推出终端环境变量激活 #20950。