最近遇到了一个问题:vscode上终端的python版本和xshell终端上python版本不对应。
最近打算用vscode远程连接服务器进行调试代码,当在终端进入虚拟环境的时候发现显示的python是Linux默认的python版本(2.7),而不是anaconda的python版本(之前已经装过anaconda)。输入命令which python
显示的也是liunx默认的python路径。
这时候我使用xshell连接服务器,输入命令which python
显示的是anaconda的python路径,输入命令python
显示的也是anaconda默认的python版本(3.7.6)。
接下来我进入到名为tracking
的虚拟环境(python版本为3.6.2)中,发现vscode终端中显示的python也仍为linux默认的python(2.7)
而在xshell终端中的进入tracking
虚拟环境显示的python版本则是正常的
后来在网上看到了这样的链接https://blog.csdn.net/weixin_43659913/article/details/103830210。这个链接适用于Macos系统,而不适用于liunx系统。后来我仿照这个链接,在setting.json
文件中添加了如下语句:
"terminal.integrated.env.linux": {
"PATH": ""
}
结果并没有解决问题
个人感觉服务器端是没有问题的,否则用xshell终端显示的python版本也是不对的。应该是vscode设置的问题,但具体怎么改自己现在没有头绪。
vscode里用python,应该要将你的路径,添加的vscode的PATH配置里,而不是把PATH改为空
"terminal.integrated.env.linux": {
"PATH": ""
}
改为
"terminal.integrated.env.linux": {
"PATH": "/home/xxxx/anaconda3/bin:${env:PATH}"
}
路径改为实际的路径
这个情况很正常:系统服务只关心关键版号,满足要求的版序会被系统自动标记为特定版号,而不是显示其真实版号,这样系统处理相关问题会比较简化;vsCode则是从系统服务获取相关信息。
类似的情况是:Java只提供3个版号的服务,可能也会遇到类似情况。