VS Code每次打开终端自动插入pyenv命令,如何禁用?
pyenv shell 3.10.4的问题 以下是几个可能的来源和对应的解决步骤:
检查VS Code Python插件的环境配置
打开VS Code设置(快捷键Ctrl+,),搜索python.defaultInterpreterPath,看看路径是不是还指向pyenv管理的旧Python版本(比如~/.pyenv/versions/3.10.4/bin/python)。如果是,改成系统默认的Python路径或者你现在用的解释器路径。另外检查python.terminal.activateEnvironment选项,要是开启着,插件可能会尝试激活之前保存的环境,可先暂时关闭试试。清理终端配置文件的残留代码
pyenv安装时会在shell配置文件里添加初始化脚本,卸载时可能没删干净。根据你用的shell:- bash:打开
~/.bashrc、~/.bash_profile、~/.profile,搜索pyenv相关的行(比如eval "$(pyenv init -)"或者pyenv shell 3.10.4),直接删掉这些行,保存后重启终端。 - zsh:打开
~/.zshrc,同样搜索并删除pyenv相关代码。 - fish:检查
~/.config/fish/config.fish里的pyenv相关配置。
- bash:打开
排查VS Code工作区设置
如果只有某个项目打开时出现这个问题,打开项目根目录下的.vscode/settings.json,搜索python相关配置,看看有没有指定python.defaultInterpreterPath为pyenv的版本,或者其他和pyenv相关的设置,删掉这些残留配置即可。检查VS Code终端的自定义启动配置
在VS Code设置里搜索terminal.integrated.profiles,查看你正在使用的终端(比如bash、zsh)的配置,有没有在启动命令里添加了pyenv shell 3.10.4。另外检查terminal.integrated.shellArgs相关设置,确认没有残留的pyenv命令参数。清理pyenv残留文件和环境变量
检查用户目录下是否还有.pyenv文件夹,要是有直接删掉。然后在终端执行echo $PYENV_ROOT,如果有输出,说明环境变量还在,去对应的shell配置文件里删掉export PYENV_ROOT=...这类语句。
内容的提问来源于stack exchange,提问作者Jonathan Voss

