VS Code 中的 Git Bash 问题

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

今天 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
时,我得到了我所使用的每个库的列表已经安装在里面了。

到目前为止,我已经尝试过:

  • 关闭 shell,关闭 VS Code 并重新启动我的机器。我仍然得到相同的激活 venv。
  • 单独打开一个 Git Bash(不是在 VS Code 中),顺便说一句,我没有看到这个激活的 venv。我打开目录,激活和停用 venv,关闭所有内容并再次重新启动我的机器,仍然一样。
  • 当我尝试激活同一个 venv 时,发生了一件极其奇怪的事情:它确实做到了,并且在括号之间显示了同一个 venv 的名称两次!例如,我运行
    source venv_project/Scripts/activate
    ,在下一行,终端显示:
    (venv_project) (venv_project) my.name@CPM00001234 MINGW64 c/Users/my.name/my_project
    (请记住,这些路径只是通用示例)。
  • 我打开了一个新的 Git Bash,指向具有不同 venv 的不同文件夹(在 VS Code 上,我单击
    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
    命令时,它只是返回一个空屏幕,其中没有目录。
  • 到目前为止最令人困惑的事情:我决定删除我的 venv,但是...... venv 的名字仍然显示在括号之间!我运行
    pip list
    ,库消失了,但名称仍然存在,即使在我关闭 VS Code、重新启动计算机并再次打开 VS Code 后也是如此。

这些基本上是我尝试解决问题所采取的步骤。问题是,这刚刚开始成为这个新 VS Code 版本的问题,因此,作为替代方案,有没有办法将 VS Code 重置为之前的版本?

谢谢您的帮助。

PS:我刚刚发现的一件事是,这个问题不会显示在 Windows shell 上,例如 cdm 或 powershell,但它确实显示在 Cygwin(我安装的另一个 shell)上。

visual-studio-code git-bash python-venv
1个回答
0
投票

我自己没有处理过这个问题,但这听起来像是一个 环境重复的情况——干扰 conda init #22233。有 维护者评论 关于运行

conda config --set auto_activate_base False
并重新启动 shell 来修复它(尽管它显然不会影响行为?),以及未来对 UI 的改进,仅显示其中之一: 采用使用 VS Code API 访问终端输出 #22128,以及与终端环境激活相关的其他更改 - 推出终端环境变量激活 #20950

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