为什么 macOS Visual Studio Code 使用错误的 Python 解释器?

Ray*_*Ray 4 python macos python-3.x visual-studio-code

我在 macOS Sierra (10.12.6) 上运行 VS Code 1.33.1。当我运行一个像下面这样的简单 Python 程序时,VS Code 使用安装在我的 Mac 上的 Python 2.7,而不是我使用 Homebrew 安装的 Python 3。

    # show-python-version.py
    import sys
    print(sys.version)
Run Code Online (Sandbox Code Playgroud)

这是 VS Code 输出窗口中显示的输出:

    [Running] python -u "/Users/smith/Documents/Programming/Python/Examples/show-python-version.py" 
    2.7.15 (default, May  1 2018, 16:44:37) 
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)]

    [Done] exited with code=0 in 0.032 seconds
Run Code Online (Sandbox Code Playgroud)

如您所见,我得到的是 2.7.15 版,因为它调用的是“python”而不是“python3”,但我不知道如何让它使用 python3。以下是我为解决这个问题所做的所有事情:

  1. 当我发出“代码”时,我已确保没有任何使用 Python 2.7 的虚拟环境正在运行。示例目录中的命令。

  2. 我使用 Homebrew 安装了 Python 3,所以我打开了命令面板(shift + cmd + p),输入“Python:选择解释器”,并确认它使用的是我的 Homebrew 版本:当前:/usr/local/bin/python3。

  3. 我检查了 VS Code 的设置,搜索了“python.pythonPath”并确认它与上面第 2 步中显示的解释器路径相同。

  4. 我还检查了文件 Examples/.vscode/settings.json 以确认那里的解释器路径:

    {
            "python.pythonPath": "/usr/local/bin/python3"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 我已经重新启动 VS Code 无济于事。

我安装了这些扩展:

esbenp.prettier-vscode@1.8.1
formulahendry.code-runner@0.9.8
fosshaas.fontsize-shortcuts@1.5.0
ms-python.python@2019.3.6558
tht13.python@0.2.3
vmsynkov.colonize@2.2.2
vscodevim.vim@1.4.0
Run Code Online (Sandbox Code Playgroud)

它可能与我的路径有关,如下所示,因为 python 和 python3 都在 /usr/local/bin 中:

    $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:....
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Mat*_*owe 8

这是因为代码运行器扩展。将此添加"code-runner.executorMap.python": "python3 -u"到您的 settings.json 中,当它运行代码到 python3 而不是 python2 时,它应该更改 python 版本