Mac端VS Code无视python.pythonPath设置,始终使用Python 2.7求助
这种情况我之前帮好几个开发者排查过,大概率是这几个容易忽略的点在搞鬼,一步步来梳理:
先确认配置项是否用对了(重点!)
现在VS Code的Python扩展已经弃用了旧的python.pythonPath配置,改用python.defaultInterpreterPath了。你之前设置的旧配置项可能根本没生效!打开设置(Cmd+,),搜索"Python: Default Interpreter Path",直接填入/usr/local/bin/python3,或者先在终端运行which python3拿到准确的路径再填进去。检查工作区设置是否覆盖了全局配置
VS Code的工作区设置(项目根目录下的.vscode/settings.json)优先级比全局用户设置高。如果你的项目里有这个文件,打开看看里面是不是还写着指向Python 2.7的配置,有的话直接修改成正确的Python 3路径。验证VS Code的环境变量和终端是否一致
要是你从Launchpad打开VS Code,它可能不会加载你的shell配置文件(比如~/.zshrc或~/.bash_profile),导致VS Code里的PATH和终端里的不一样。你可以在VS Code的集成终端里运行:echo $PATH which python对比系统终端的输出,如果VS Code里的PATH没包含
/usr/local/bin,那它就找不到python3。解决办法很简单:从终端里运行code命令打开你的项目,这样VS Code会继承终端的环境变量。清除解释器缓存并重新选择
有时候VS Code会缓存旧的解释器信息,按Cmd+Shift+P打开命令面板,先选Python: Clear Workspace Interpreter Cache,然后再选Python: Select Interpreter,找到你要的Python 3.6版本(路径对应/usr/local/bin/python3或者终端which python3的结果),选完后记得重新加载窗口(Cmd+Shift+P选Reload Window)。排查是否有项目虚拟环境干扰
如果你的项目里有虚拟环境(比如venv或conda环境),VS Code可能会自动切换到这个环境。检查一下项目根目录下有没有.venv之类的文件夹,进去看看里面的Python版本是不是2.7——要是是的话,要么删掉这个旧虚拟环境,要么重新创建一个基于Python 3的虚拟环境。
内容的提问来源于stack exchange,提问作者vladvino

