如何在 Visual Studio Code 中更改 Python 版本?

2024-12-19 09:24:00
admin
原创
190
摘要:问题描述:这些是我的设置:用户设置{ "atomKeymap.promptV3Features": true, "editor.multiCursorModifier": "ctrlCmd", "editor.for...

问题描述:

这些是我的设置:

  1. 用户设置

{
    "atomKeymap.promptV3Features": true,
    "editor.multiCursorModifier": "ctrlCmd",
    "editor.formatOnPaste": true,
    "python.pythonPath": "python3",
    "command": "python3",
}
  1. 工作区设置

{
    "python.pythonPath": "${workspaceFolder}/env/bin/python3.6",
    "git.ignoreLimitWarning": true
}
  1. 任务.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:

  1. 在菜单下View选择Command Palette... F1(或按F1键)。

  2. 类型Python: Select Interpreter

  3. 选择默认使用的 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,如下面的代码片段所示:

Visual Studio 代码片段

2)命令面板

  • 正如@jmh在他的回答中所指出的,您还可以使用“查看”选项卡导航到命令面板。在命令面板中,搜索Python:选择解释器以显示上面所示的相同菜单。

如果仍然遇到问题,还有一个 VS Code 入门指南,可引导您设置虚拟环境和/或选择支持所需语言的不同 Python 解释器:https://code.visualstudio.com/docs/python/python-tutorial

祝你编码愉快!

解决方案 4:

Tot 的回答对我在 Windows 10 上的工作有用,只需进行一些修改。

  1. 文件 -> 首选项 -> 设置

  2. 在搜索栏中输入“python.pythonPath”。

  3. 将其更改为您通常从命令行运行 python 时使用的路径。如果您设置了 Path 环境变量,则只需python。如果没有,则可能是可执行文件的完整路径。

解决方案 5:

此解决方案适用于Mac和Linux:

要将 Python 版本从 2.7 更改为 3,请执行以下操作:

  1. 在 Vscode 中单击文件 > 首选项 > 设置。

  2. 在右侧单击 ...(三个点)并选择(打开 settings.json)

  3. 在搜索栏中输入 code-runner.executorMap。

  4. 您只能更改右侧的设置。

  5. 在最后一个设置后输入逗号,然后输入“code-runner.executorMap”并按回车键,这将从默认文件复制所有设置。

  6. 查找“python”,并将旁边的命令更改为“python3”。

  7. 保存更改,然后您就可以开始了。

解决方案 6:

VS Code 的终端使用与你选择的不同的 Python 解释器

默认情况下,它不知道您的解释器,并且将使用.bashrc操作系统中的默认值或等效项进行初始化。

我在 2021 年 2 月的一个问题中找到了两个相关的设置。勾选第二个选项Python > Terminal: Activate Environment可以自动激活虚拟环境:

在 VS Code 中激活 Python 环境

其中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 日)

  1. 在 pythonDeprecatePythonPath 实验中,在工作区级别添加了 python.defaultInterpreterPath 设置。 (#16485)

  2. 在 pythonDeprecatePythonPath 实验中,显示 python.pythonPath 弃用提示。 (#16485)

2020.7.0(2020 年 7 月 16 日)

  1. 在弃用 PythonPath 实验中,提示用户我们已从其工作区设置中删除了 pythonPath。(#12533)

2020.5.0(2020 年 5 月 12 日)

  1. 如果处于 DeprecatePythonPath 实验中,则将 python.pythonPath 设置的现有值一次性传输到新的解释器存储中。(#11052)

  2. 在 Deprecate PythonPath 实验中添加提示,要求用户从其工作区设置中删除 python.pythonPath 键。(#11108)

  3. 将 launch.json 中用于引用设置中设置的解释器路径的字符串 ${config:python.pythonPath} 重命名为 ${config:python.interpreterPath}。(#11446)

2020.4.0 (2020 年 4 月 20 日)

  1. 添加了用户设置 python.defaultInterpreterPath,用于在 Deprecate PythonPath 实验中设置默认解释器路径。(#11021)

如果您希望为所有工作区设置默认的 Python 解释器,请使用 打开设置Ctrl+Shift+PPreferences: Open User Settings然后搜索 Python: Default Interpreter Path。否则,如果您只想为当前工作区设置它,请使用Preferences: Open Workspace Settings

VS 代码设置默认 Python 解释器

在您的例子中,您希望将其设置为${workspaceFolder}/env/bin/python3.6。如果您settings.json直接编辑而不是使用 GUI:

{  
  "python.defaultInterpreterPath": "${workspaceFolder}/env/bin/python3.6"
}  

详细说明可以在文档“手动指定解释器”中找到,包括使用环境变量作为解释器的路径。

解决方案 7:

在VSCode中有两个python的路径:

  1. 使用右上角的绿色播放按钮播放 Python 代码时使用的路径。此路径可在 CTRL+SHIFT+P Python 下设置:选择解释器。

执行Python代码

  1. 在终端中输入“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 链接

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用