问题描述
在开发一个python脚本过程中,试用conda管理虚拟环境,用vscode进行开发,遇到的问题是激活虚拟环境后,在vscode中选择对应环境下的python解释器,提示“选择的解释器无效”。
使用的是Miniconda,虚拟环境下python版本为2.7,vscode的python插件为2023.14.0。
解决过程
在之前试用anaconda管理虚拟环境时也遇到过类似问题,但是在激活虚拟环境后,通过‘code .’命令打开vscode后,是可以直接在vscode的终端运行脚本的,但是后来用miniconda代替anaconda,同样的操作却不行。
查看了vscode输出的日志,发现错误是vscode启动时,调用一些脚本(应该是python插件启动虚拟环境的需要),使用了‘python -I’,而python2.7是不支持‘-I’参数的,也就是说vscode选用虚拟环境的python解释器时,需要运行一些特定的脚本,其中用到了‘-I’参数,而虚拟环境的python解释器不支持‘-I’参数,所以就报错了。
如何解决
python2.7在2022年就停止支持了,所以极有可能的是vscode的python插件也逐渐不支持python2.7版本了,在使用较新版本的vscode python插件时出现了兼容问题。
解决也很简单,将vscode 的python插件降版本到2022年之前,我用的是2021年12月的版本,使用没有问题。