在Mac High Sierra系统中,如何为VSCode指定Anaconda虚拟环境的Python版本
解决VSCode Jupyter扩展无法稳定切换Anaconda虚拟环境的问题
针对你遇到的VSCode搭配Jupyter扩展时,无法稳定切换Anaconda创建的py27(Python2.7.13)和py36(Python3.6.5)虚拟环境的问题,我整理了几个可复现的操作步骤和排查点,应该能彻底解决这个问题:
一、先确保虚拟环境被VSCode正确识别
- 打开VSCode命令面板(快捷键
Cmd+Shift+P),输入Python: Select Interpreter,检查列表里是否显示你的py27和py36虚拟环境。如果没出现,手动添加:- 在命令面板选择
Enter interpreter path... - 导航到你的虚拟环境目录,选中对应Python可执行文件:比如
/User/myname/py27/bin/python(对应py27)或/User/myname/py36/bin/python(对应py36)
- 在命令面板选择
二、为Jupyter单独指定内核(关键步骤)
VSCode的全局Python解释器设置有时会和Jupyter内核脱节,必须单独配置:
- 打开你要运行的代码文件(不管是
.ipynb还是用Jupyter运行的.py文件),点击右上角的「选择内核」按钮(或者在命令面板输入Jupyter: Select Kernel) - 在弹出的列表里直接选
Python 2.7.13 ('py27': conda)或Python 3.6.5 ('py36': conda)——这个选择是针对当前文件生效的,能确保运行时100%使用指定环境
三、固定工作区的默认环境
如果希望每次打开项目都默认用指定环境,避免启动时随机切换,可以设置工作区配置:
- 打开VSCode设置(快捷键
Cmd+,),点击右上角的「打开工作区设置」按钮(文件夹图标) - 搜索
python.defaultInterpreterPath,设置为对应虚拟环境的Python路径,比如/User/myname/py27/bin/python - 再搜索
jupyter.interpreter,选择对应虚拟环境的解释器,确保Jupyter和全局解释器完全一致
四、清理缓存解决识别混乱
缓存残留可能导致环境识别异常,试试这个操作:
- 完全关闭VSCode,删除以下两个目录的缓存文件:
~/.vscode/extensions/ms-toolsai.jupyter-*/(Jupyter扩展的缓存)~/.local/share/jupyter/kernels/(Jupyter内核的缓存)
- 重新打开VSCode,重新选择解释器和Jupyter内核,此时环境识别会稳定很多
五、验证切换是否成功
每次切换后,建议运行这段代码确认环境是否正确:
import sys print(f"Python版本:{sys.version}") print(f"当前解释器路径:{sys.executable}")
输出的版本和路径应该和你选择的虚拟环境完全匹配,如果不匹配,重复上述步骤排查即可
你提到的初始启动环境随机的问题,大概率是工作区没有固定默认环境,按照第三步配置后,每次打开项目都会默认使用你指定的环境,不会再出现随机切换的情况。
内容的提问来源于stack exchange,提问作者Natsfan
相关产品推荐
相关产品推荐

