繁体   English   中英

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

[英]How can I change the Python version in Visual Studio Code?

这些是我的设置:

  1. 用户设置

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

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

我怎样才能解决这个问题?

在视图菜单下选择“显示命令托盘”。 然后您可以从命令面板中选择的命令之一是“Python:选择解释器”。 选择此选项将允许您选择要使用的 python 版本。

升级版 首先,阅读底部的更新#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”标志代表“无缓冲的二进制标准输出和标准错误......”——不知道为什么它在这里很重要。

更新 #1 这变得不那么方便了——我开始使用 python 的虚拟环境,上面的解决方案无法启动这些环境,因为 python3(符号链接)总是链接到同一个 python 环境。

这里的解决方案是使用 Code-Runner 支持的自定义参数,因此您应该将其 settings.json 中的“python”行更改为:

...
"python": "$pythonPath $fullFileName",
...

Tot 的答案是在 Windows 10 上对我有用的,并进行了一些修改。

  1. 文件 -> 首选项 -> 设置
  2. 在搜索栏中输入“python.pythonPath”。
  3. 将其更改为您通常从命令行运行 python 的内容。 如果您设置了 Path 环境变量,那就是python 如果不是,它可能是可执行文件的完整路径。

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

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

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

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

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

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

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

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

  7. 保存更改,您应该一切顺利。

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 打开终端时,它会自动插入一行代码& C:/Users/[UserName]/[venv]/Scripts/Activate.ps1以激活相应的环境与选定的python解释器相关联! 看来上述设置现在是默认行为。 虽然2021 年 7 月的发行说明(版本 1.59)中对终端行为进行了更改,但我没有看到明确提及虚拟环境激活。

新行为记录在此处的“ 环境和终端窗口”中。


"python.pythonPath" 已被弃用

因此,大多数以前的答案都已过时。 改用"python.defaultInterpreterPath"

2021.6.0(2021 年 6 月 16 日)
5. 在pythonDeprecatePythonPath 实验中添加了工作区级别的python.defaultInterpreterPath 设置。 (#16485)
8、在pythonDeprecatePythonPath实验中显示python.pythonPath弃用提示。 (#16485)

2020.7.0(2020 年 7 月 16 日)
9. 在 Deprecate PythonPath 实验中,提示用户我们已从他们的工作区设置中删除了 pythonPath。 (#12533)

2020.5.0(2020 年 5 月 12 日)
6. 如果在 DeprecatePythonPath 实验中,将 python.pythonPath 设置的现有值一次性传输到新的解释器存储。 (#11052)
8. 在弃用 PythonPath 实验中,增加了提示用户从其工作区设置中删除 python.pythonPath 键的提示。 (#11108)
12. 将在launch.json 中用于引用设置中设置的解释器路径的字符串${config:python.pythonPath} 重命名为${config:python.interpreterPath}。 (#11446)

2020.4.0(2020 年 4 月 20 日)
13.新增用户设置python.defaultInterpreterPath,用于设置Deprecate PythonPath实验时的默认解释器路径。 (#11021)

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

默认 python 解释器的 VS 代码设置

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

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

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

在 VSCode 中有两条 python 路径:

  1. 当您使用右上角的绿色播放按钮的 Python 代码时使用的路径。 这个路径可以在CTRL+SHIFT+P下设置 Python:选择Interpreter。

执行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 链接🙄。

这里的几个答案解释了好的方法,但以下是我的前 2 条建议。

  1. 底部屏幕导航(易于访问)

我发现这是最快的方法; 但是,它并不总是可供初次使用的用户使用。 如果您已经在 VS Code 中使用 Python,这通常是访问Python 的最简单方法:选择解释器菜单。 在屏幕的左下方,查找“Python XXX ”。 这是当前为您的项目检测/配置的 Python 版本,单击它会将您带到解释器菜单以更改您正在使用的 Python 版本。 在撰写本文时,我使用的是 Python 3.9.1,如下面的片段所示:

Visual Studio 代码片段

  1. 命令面板

正如@jmh在他的回答中指出的那样,您还可以使用“查看”选项卡导航到Command Palette 在 Command Palette 中,搜索Python:选择 Interpreter以显示与上述相同的菜单。

快乐编码!

真的迟到的答案,如果你发现很难在 VsCode 中设置 python 版本,

如果解释器没有显示 envname/bin/python 或您想要的任何所需路径,请转到

  1. VSCODE 主页-->文件-->首选项-->设置

  2. 选择右上角的 ...。 您会看到 USER SETTINGS、WORKSPACE SETTINGS、YOURAPP_NAME_SETTINGS。 点击 your_app_name。

  3. “python.pythonPath”:“/home/Jhon/AllWorksUbuntu/Projects/VX-350/envname/bin/python”

在上面播放以设置正确的路径。 你可以走了!!!

为我工作(linux用户);

假设您的系统中安装了其他 python 版本:

  1. 杀死旧终端
  2. 打开一个新的终端
  3. 在新终端而不是写“python”来选择解释器写“python3”或“python3.8”

看起来只放'python'总是会带来python 2。

只是一个前言:VS 代码运行良好(使用 Python 3.x),并且似乎出乎意料地开始使用 Python 2.7。 input() 函数不会将输入转换为字符串,这时我才意识到发生了什么。 在终端窗口中键入 Python 显示 2.7 正在运行。

为了我....

即使“python.pythonPath”指向一个看似正确的位置(C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64),我的环境变量之一指向 C:\Users\Mike.windows-构建工具\python27。

我删除了环境变量并从 Microsoft Store 重新安装了 Python 3.8,它立即安装了。 我从 VS Code(它正在运行)收到一条消息,说安装了 3.8。 我点击了终端/新终端,输入了 Python,它显示了 3.8 版。 输入“Python xxx.py”,代码开始正常工作。

在此处输入图像描述

就我而言,我使用

python --version

即使我的解释器路径是 3.x,它也显示了 python 2.x。 所以通过控制面板从我的电脑上卸载了python 2.x。 然后它对我来说很好。

还可能错过的一件事是您在终端中使用的 shell 配置文件,您可以在其中看到想要的 python 版本与 VS Code 中的配置文件。 请查看给我错误的python版本的选定终端配置文件

  1. 按住 cmd + p 并写入>Terminal: Select default profile
  2. 在全局级别的终端中选择 bash 或用于在终端中安装 python3 版本的任何内容。
  3. 关闭终端和 VS Code,然后再次打开,这一次 VS Code 会选择正确的版本

不,你会看到正确的 python 版本

安装 Anaconda,然后选择它作为解释器是一种将 Python 设置为最新版本并获得使 Jupyter Notebook 工作的扩展的简单方法。

在 Vscode 中,您可以转到首选项 > 设置,然后在右侧菜单中单击第一个图标,即 JSON。 查找“python.pythonPath”和“python.defaultInterpreterPath”并更改路径。 要查找 python3 路径,请打开终端并执行python3 dummyname 实际上你会遇到一个错误,但关键是它会告诉你路径!

在此处输入图像描述

从左下角,单击 python,然后 vscode 将导航到您系统中安装的所有 python 版本,并为您选择正确的版本。

Windows:使用py -3.6 --version或创建虚拟环境py -3.6 -m venv venv36

看演示

更新@Isabella answer ,使用当前的 VSCode 1.65.1 和当前的 python 启动器,您可以使用py -version ,例如py -3.8

因此,您可以创建一个.vscode文件夹,其中包含一个名为settings.json的文件名,其中包含

{
  "python.defaultInterpreterPath": "py -3.8",
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM