如何在 Visual Studio Code 中更改 Python 版本?
- 2024-12-19 09:24:00
- admin 原创
- 190
问题描述:
这些是我的设置:
用户设置
{
"atomKeymap.promptV3Features": true,
"editor.multiCursorModifier": "ctrlCmd",
"editor.formatOnPaste": true,
"python.pythonPath": "python3",
"command": "python3",
}
工作区设置
{
"python.pythonPath": "${workspaceFolder}/env/bin/python3.6",
"git.ignoreLimitWarning": true
}
任务.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "python3",
"isShellCommand": true,
"args": ["${file}"],
"showOutput": "always"
}
如果我使用调试控制台,版本和路径是正确的:
但无论我做什么,输出总是默认为“python2.7”。
我该如何修复此问题?
解决方案 1:
在菜单下
View
选择Command Palette... F1
(或按F1键)。类型
Python: Select Interpreter
。选择默认使用的 Python 版本 [1]。
[1] 您可以放心地忽略“推荐”提示,它通常是系统的基本提示,无需访问您的自定义软件包。
解决方案 2:
UPD。首先,请阅读底部的更新 #1 部分
(首先尝试更新#1)查看您的屏幕截图,我发现您正在使用 Code Runner 扩展。我猜这就是您启动程序的方式。我不知道它的内部工作原理,但在 Code-Runner 扩展 setting.json 文件中添加此行可以修复此问题:
"code-runner.executorMap.python": {...
"python": "python3 -u",
...}
在 Code-Runner GitHub 存储库中找到它:https://github.com/formulahendry/vscode-code-runner/issues/366
如果您输入“python --help”,您会看到“-u”标志代表“无缓冲二进制 stdout 和 stderr...” - 不知道为什么它在这里很重要。
更新 #1。这变得越来越不方便 - 我开始使用 python 的虚拟环境,而上述解决方案无法启动这些环境,因为 python3(符号链接)始终链接到相同的 python 环境。
这里的解决方案是使用 Code-Runner 支持的自定义参数,因此您应该将其 settings.json 中的“python”行更改为:
...
"python": "$pythonPath $fullFileName",
...
解决方案 3:
这里的几个答案解释了好的方法,但以下是我的最重要的 2 个建议。
1)屏幕底部导航(方便访问)
我发现这是最快的方法;但是,对于初次使用的用户来说,它并不总是可用的。如果您已经在 VS Code 中使用 Python,这通常是进入Python 的最简单方法:选择解释器菜单。在屏幕左下角,查找“Python XXX ”。这是当前为您的项目检测到/配置的 Python 版本,单击它会将您带到解释器菜单以更改您正在使用的 Python 版本。在撰写本文时,我正在使用 Python 3.9.1,如下面的代码片段所示:
2)命令面板
正如@jmh在他的回答中所指出的,您还可以使用“查看”选项卡导航到命令面板。在命令面板中,搜索Python:选择解释器以显示上面所示的相同菜单。
如果仍然遇到问题,还有一个 VS Code 入门指南,可引导您设置虚拟环境和/或选择支持所需语言的不同 Python 解释器:https://code.visualstudio.com/docs/python/python-tutorial
祝你编码愉快!
解决方案 4:
Tot 的回答对我在 Windows 10 上的工作有用,只需进行一些修改。
文件 -> 首选项 -> 设置
在搜索栏中输入“python.pythonPath”。
将其更改为您通常从命令行运行 python 时使用的路径。如果您设置了 Path 环境变量,则只需
python
。如果没有,则可能是可执行文件的完整路径。
解决方案 5:
此解决方案适用于Mac和Linux:
要将 Python 版本从 2.7 更改为 3,请执行以下操作:
在 Vscode 中单击文件 > 首选项 > 设置。
在右侧单击 ...(三个点)并选择(打开 settings.json)
在搜索栏中输入 code-runner.executorMap。
您只能更改右侧的设置。
在最后一个设置后输入逗号,然后输入“code-runner.executorMap”并按回车键,这将从默认文件复制所有设置。
查找“python”,并将旁边的命令更改为“python3”。
保存更改,然后您就可以开始了。
解决方案 6:
VS Code 的终端使用与你选择的不同的 Python 解释器
默认情况下,它不知道您的解释器,并且将使用.bashrc
操作系统中的默认值或等效项进行初始化。
我在 2021 年 2 月的一个问题中找到了两个相关的设置。勾选第二个选项Python > Terminal: Activate Environment
可以自动激活虚拟环境:
其中settings.json
被称为"python.terminal.activateEnvironment": true
。
更新(2021 年 8 月 8 日):今天,当我从 Windows 上的 VS Code 打开终端时,它会自动插入一行代码来激活与所选 Python 解释器关联的适当环境!看来上述设置现在是默认行为。虽然2021 年 7 月(版本 1.59)的发行说明& C:/Users/[UserName]/[venv]/Scripts/Activate.ps1
中对终端行为进行了更改,但我没有看到明确提到虚拟环境激活。
新行为记录在此处的“环境和终端窗口”中。
"python.pythonPath"
已被弃用
因此,大多数以前的答案都已过时。请"python.defaultInterpreterPath"
改用:
2021.6.0 (2021 年 6 月 16 日)
在 pythonDeprecatePythonPath 实验中,在工作区级别添加了 python.defaultInterpreterPath 设置。 (#16485)
在 pythonDeprecatePythonPath 实验中,显示 python.pythonPath 弃用提示。 (#16485)
2020.7.0(2020 年 7 月 16 日)
在弃用 PythonPath 实验中,提示用户我们已从其工作区设置中删除了 pythonPath。(#12533)
2020.5.0(2020 年 5 月 12 日)
如果处于 DeprecatePythonPath 实验中,则将 python.pythonPath 设置的现有值一次性传输到新的解释器存储中。(#11052)
在 Deprecate PythonPath 实验中添加提示,要求用户从其工作区设置中删除 python.pythonPath 键。(#11108)
将 launch.json 中用于引用设置中设置的解释器路径的字符串 ${config:python.pythonPath} 重命名为 ${config:python.interpreterPath}。(#11446)
2020.4.0 (2020 年 4 月 20 日)
添加了用户设置 python.defaultInterpreterPath,用于在 Deprecate PythonPath 实验中设置默认解释器路径。(#11021)
如果您希望为所有工作区设置默认的 Python 解释器,请使用 打开设置Ctrl+Shift+P
,Preferences: Open User Settings
然后搜索 Python: Default Interpreter Path
。否则,如果您只想为当前工作区设置它,请使用Preferences: Open Workspace Settings
。
在您的例子中,您希望将其设置为${workspaceFolder}/env/bin/python3.6
。如果您settings.json
直接编辑而不是使用 GUI:
{
"python.defaultInterpreterPath": "${workspaceFolder}/env/bin/python3.6"
}
详细说明可以在文档“手动指定解释器”中找到,包括使用环境变量作为解释器的路径。
解决方案 7:
在VSCode中有两个python的路径:
使用右上角的绿色播放按钮播放 Python 代码时使用的路径。此路径可在 CTRL+SHIFT+P Python 下设置:选择解释器。
在终端中输入“python”时使用的路径,此路径位于 Windows 10 中的“环境变量”中(Linux 和 Mac 下的位置类似)。在 Windows 10 中,您可以选择多个 Python 版本,通常在 C:\Users\YourName\AppData\Local\Programs\Python\Python## 下。只需确保相应地更改环境变量 C:\Users\YourName\AppData\Local\Programs\Python\Python## 和 C:\Users\YourName\AppData\Local\Programs\Python\Python##\Scripts。这也会影响您使用的 pip,即属于 Python 3.8 的 pip 或属于 Python 3.9 的 pip。我认为 VSCode 中的终端通常与您的默认终端有关。因此,在 Windows 10 中,当您在 CMD 行中输入“python”时,它应该与 VSCode 终端是相同的版本。
为了合理起见,您应该确保“Python:选择解释器”和系统环境变量指向同一版本的 Python。
Windows 10 中的额外好处。如果您没有设置环境变量,并且在 VSCode 终端中输入“python”,它将指向 C:\Users\YourName\AppData\Local\Microsoft\WindowsApps\python.exe,这只会在 Windows AppStore 中打开 python 链接