【问题标题】:VSCode running Python 2 instead of 3VSCode 运行 Python 2 而不是 3
【发布时间】:2019-06-15 10:20:36
【问题描述】:

我将 Python 与 VSCode 一起使用,如果我使用 Cmd+Shift+P 并键入 Run Code,即使我已指定它使用 Python3,它也会使用 Python2 运行代码。我已阅读本教程: How to force VSCode to use Python 3 instead of Python 2? 但我不明白如何改变它。 (我不能发表评论,因为我没有足够的声誉是的) 有人可以帮忙吗?谢谢!

也许这与底部的迷你终端运行“python -u”而不是“python3 -u”有关?有人知道怎么改吗?

【问题讨论】:

标签: python python-3.x visual-studio-code


【解决方案1】:

尝试更改选定的 Python 环境。

这可以通过

  1. 单击窗口左下角的 Python 标签
  2. 执行 Cmd+Shift+P (Mac) 或 Ctrl+Shift+P (Windows/Linux)
  3. 选择选择解释器

从下拉列表中选择 Python3 而不是 Python2。

更多信息在这里:
https://code.visualstudio.com/docs/python/environments#_select-and-activate-an-environment

Python 中的“环境”是 Python 程序所处的上下文 运行。

从列表中选择解释器会添加一个条目 python.pythonPath 与您的内部解释器的路径 Workspace Settings。因为路径是工作空间的一部分 设置时,应该已经选择了相同的环境 打开那个工作区。

Python 扩展使用选定的环境来运行 Python 代码(使用 Python: Run Python File in Terminal 命令), 提供语言服务(自动完成、语法检查、linting、 格式等)当您在编辑器中打开 .py 文件时,以及 使用 Terminal: Create New Integrated Terminal 打开一个终端 命令。在后一种情况下,VS Code 会自动激活 选定的环境。

【讨论】:

  • 嗯,我试过了,还是不行?谢谢!
【解决方案2】:

正如@Don 在他的回答中提到的,Run Code 命令是由Code Runner 扩展而不是Python 提供的。
无论如何,您可以简单地将以下内容添加到您的 settings.json 文件中:

{
    "code-runner.executorMap": {
        "python": "python3 -u"
    }
}

P.S:您需要在执行此操作后重新加载您的 vs 代码,因此只需点击 Ctrl + Shift + P 并运行 Reload Window

【讨论】:

    【解决方案3】:

    请注意命令 Run Code 不是由 VS Code 的 Python 扩展提供的,而是由扩展 Code Runner 提供的。它们是两个独立的扩展。 您需要将该扩展配置为指向您选择的 Python 解释器。 IE。根据他们在主页上的文档,您必须更新设置:

    {
        "code-runner.executorMap": {
            "python": "<fully qualified path>",
        }
    }
    

    或者你有另一个解决方案,那就是使用命令Python: Run Python file in Terminal。这不依赖于Code Runner 扩展并且是Python Extension 的一部分,因此使用您选择的解释器。

    【讨论】:

    • 请问如何将设置打开为 JSON 文件,我只能进入设置,似乎没有办法让终端在其中使用 python 3
    • 这样的扩展应该能够检查正在使用的python版本并使用它来运行有问题的文件!
    • 花了一段时间才找到答案。在“无处不在”指定 Python 3 之后,将其放入 settings.json 是让运行代码 (CTRL+ALT+N) 识别我正在编写 Python 3 代码的方法...
    【解决方案4】:

    您是否检查过您的系统环境变量?也许 Pyhton 2 位于 Python 3 的 PATH 中。如果不会错过 Python 2,您应该考虑从 PC 上卸载它……我在使用机器学习时遇到了类似的问题,它为我解决了。

    【讨论】:

    • 嗯,但我在堆栈溢出上阅读了其他一些答案,说删除 Apple 提供的 Python 版本可能会破坏整个操作系统,所以我真的不想这样做。
    • 不要删除(甚至考虑删除)系统 Python。 Mac 和类似 Linux 的操作系统将其用于系统相关操作。
    猜你喜欢
    • 1970-01-01
    • 2015-11-01
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 2022-11-23
    相关资源
    最近更新 更多