如何在Visual Studio代码中更改python版本?

时间:2018-01-07 08:40:59

标签: python visual-studio-code

有一个我无法解决的问题。 我已经设置好了:

1.user setting

{
"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.tasks.jason文件

{
// 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"

}

如果我使用调试控制台且版本和路径正确, debug

但无论我做什么,我的输出总是默认为“python2.7”。我怎样才能改进它? output

11 个答案:

答案 0 :(得分:6)

Tot的答案是在Windows 10上对我有用的东西,做了一些修改。

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

答案 1 :(得分:5)

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

答案 2 :(得分:2)

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

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

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

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

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

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

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

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

  7. 保存更改,您应该会很好。

答案 3 :(得分:2)

在VSCode中python有两条路径:

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

ExecutePythonCode

  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: Select Interpreter”和系统环境变量都指向相同版本的 Python。

Windows 10 中的好东西。如果您没有设置环境变量,并且在 VSCode 终端中键入“python”,它将指向 C:\Users\YourName\AppData\Local\Microsoft\WindowsApps\python .exe,它只是在 Windows AppStore ? 中打开 python 链接。

答案 4 :(得分:2)

为我工作(Linux 用户);

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

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

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

答案 5 :(得分:2)

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

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

我发现了两个相关设置 from an issue in Feb 2021。 选中第二个选项 Python > Terminal: Activate Environment 启用虚拟环境的自动激活:

Activate Python Environment in VS Code

settings.json 中,它被称为 "python.terminal.activateEnvironment": true

更新(2021 年 8 月 8 日): 今天,当我在 Windows 上从 VS Code 打开终端时,它自动插入了一行代码 & C:/Users/[UserName]/[venv]/Scripts/Activate.ps1 以激活与所选 python 解释器关联的适当环境! 看来上述设置现在是默认行为。 虽然 release notes of July 2021 (version 1.59) 中的终端行为发生了变化,但我没有看到明确提及虚拟环境激活。

新行为记录在此处,位于“Environments and Terminal windows”中。


"python.pythonPath" has been deprecated

因此,以前的大多数答案都已过时。 改用 "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. 添加了在 Deprecate 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+PPreferences: Open User Settings 打开设置并搜索 Python: Default Interpreter Path。否则,如果您只想为当前工作区设置它,请改用 Preferences: Open Workspace Settings

VS code settings for default python interpreter

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

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

详细说明可以在文档 "Manually specify an interpreter" 中找到,包括使用环境变量作为解释器的路径。

答案 6 :(得分:1)

查看您的屏幕截图,我发现您正在使用Code Runner扩展程序。我想这就是您启动程序的方式。 我不知道它是如何工作的,但是将此行添加到Code-Runner扩展setting.json文件中对我有帮助:

class player()
    def update(self):
        currentSection = checkSection(self.pos)
        if(currentSection = (pastSection + 1)%totalSectionsPerLap): # NEW CHECKPOINT
            self.score += 10
            self.pastSection = currentSection
            if(currentSection == section[0]): #NEW LAP
                self.lap +=1
                self.score += 100

在这里找到它:https://github.com/formulahendry/vscode-code-runner/issues/366

答案 7 :(得分:1)

只是一个序言: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-build-tools \ python27。

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

enter image description here

答案 8 :(得分:1)

就我而言,我使用来检查python版本

python --version

即使我的解释器路径为3.x,它也显示python2.x。因此,通过控制面板从我的计算机上卸载了python2.x。然后对我来说很好。

答案 9 :(得分:0)

如果您很难在VsCode中设置python版本,那么最后的答案是真的

如果解释器未显示envname / bin / python或所需的任何所需路径,请转到

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

  2. 选择右上角的...。您会看到“用户设置”,“工作空间设置”和“ YOURAPP_NAME_SETTINGS”。单击your_app_name。

  3.   

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

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

答案 10 :(得分:0)

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