【问题标题】:VS Code M1 Python Issue?VS Code M1 Python 问题?
【发布时间】:2021-01-14 23:37:34
【问题描述】:

我编写了一个简单的代码,将输入的值分配给变量并打印该变量,相同的代码在我的 windows pc 上有效,但在我的 M1 MacBook Air 上无效。这是我的问题,我可能遗漏了一些东西,还是这只是 M1 芯片的问题?我对编码相当陌生,所以也许我在 vs 代码中有一些错误的设置,任何帮助将不胜感激。 screenshot from my MacBook

python -u "/Users/jeff/Documents/whynowork.py"
jeff@Jeffs-MacBook-Air ~ % python -u 
"/Users/jeff/Documents/whynowork.py"
Enter input:hello
Traceback (most recent call last):
  File "/Users/jeff/Documents/whynowork.py", line 1, in <module>
    example = input("Enter input:")
  File "<string>", line 1, in <module>
NameError: name 'hello' is not defined
jeff@Jeffs-MacBook-Air ~ % 

我收到回复说我使用的是 python 2,但在底部的 vs 代码中(即使在屏幕截图中你也可以看到)我认为我使用的是 python 3.8.2。

【问题讨论】:

标签: python visual-studio-code apple-m1


【解决方案1】:

这是因为您在 Mac 设备上运行 Python 2。错误指出name 'hello' is not defined。在 Python 2 中使用 input() 而不是 raw_input 时会发生此错误,请参阅 here。这是转换为 Python 2.7 的代码:

example = raw_input("Enter Input:")
print(example)

建议升级到 Python 3,以获得更多最新的功能和库。最新的 Python 3 版本是 3.9.1,它支持 Mac M1 芯片。这是关于如何安装的tutorial

要在 Visual Studio Code 中更改 Python 解释器,请转到
查看 >> 命令面板 >> 搜索 Python:选择解释器 >>
选择 Python 3.9.1,如果没有出现,请单击 Enter interpreter path 并浏览找到您的 python 安装并单击 python 文件。

【讨论】:

  • 另请注意,Mac 有稳定且最新的 Python 3 版本 - 强烈建议升级到 Python 3,除非您真的别无选择。
  • 我同意,这很重要。除了详细说明如何在 Visual Studio Code 中使用不同的解释器之外,我还将它添加到我的答案中。
  • 如果这是 OP 的问题(我无法判断,关键信息仅在屏幕截图中),则问题应作为重复项关闭,而不是回答。在How to Answer 中,请参阅回答正确提出的问题 部分,以及其中有关“之前已被多次询问和回答”的问题的要点。
  • 我同意,但是 OP 也提到了转向 M1 芯片和 python 行为方式的担忧。我计划添加有关如何将 Python 3.9 添加到具有 M1 芯片的 Mac 的信息,以及有关如何在 vscode 中使用不同解释器的信息
  • @Sixx 已更新以包含有关如何使用 Python 3.9.1 安装 vscode 的信息
【解决方案2】:

我从反馈中推断出 MacOS 的默认 python 是 python 2,这会覆盖 vs 代码中的任何 python 路径,就像在我的屏幕截图中它似乎在版本 3.8.2 中一样。这个视频https://www.youtube.com/watch?v=K5jk-sNgeSY 概述了如何在 MacOS 上获取 python 3,虽然它说它适用于 Catalina,但它也适用于 Big Sur。

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    相关资源
    最近更新 更多