1

我编写了一个简单的代码,将输入的值分配给变量并打印这样的变量,相同的代码适用于我的 windows pc,但不适用于我的 M1 MacBook Air。这是我的问题,我可能遗漏了一些东西,还是这只是 M1 芯片的问题?我对编码相当陌生,所以也许我在 vs 代码中有一些错误的设置,任何帮助将不胜感激。 我的 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。

4

2 回答 2

2

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

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

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

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

于 2021-01-14T23:48:20.347 回答
0

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

于 2021-01-15T11:00:25.997 回答