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


问题内容

我在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)

这是“ VS代码输出”窗口中显示的输出:

    [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

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

  1. 发出“代码”时,我确保使用Python 2.7的虚拟环境均未运行。示例目录中的命令。

  2. 我使用Homebrew安装了Python 3,因此打开了命令面板(shift + cmd + p),键入“ Python:Select Interpreter”,并确认它使用的是Homebrew版本:current:/ usr / local / bin / python3。

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

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

    {
        "python.pythonPath": "/usr/local/bin/python3"
    

    }

  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

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

    $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:....

我究竟做错了什么?


问题答案:

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