如何在 Mac OS 12.1 上使用 SublimeREPL 避免 Sublime Text 4 中 input() 的 NameError?
How can I avoid NameError from input() in Sublime Text 4, using SublimeREPL on Mac OS 12.1?
我按照以下短视频中的说明允许 Python 脚本在 Sublime Text 中 运行。
https://www.youtube.com/watch?v=-d27eACbjnk
步骤是:
- 安装'Package Control'
- 安装'SublimeREPL'
- 选择'Tools > Build System > Build New System'
- 粘贴以下内容:
{
"target":"run_existing_window_command",
"id":"repl_python_run",
"file":"config/python/Main.sublime-menu"
}
- 另存为 'Python_Run' 并关闭标签页
- 打开新标签并另存为'test.py'
- 选择'Tools > Build System > Python_Run'
- 粘贴以下文本代码:
name = input("Enter your name: ")
print(name)
选择'Tools > Build'到运行。
根据提示输入姓名。
但是,当我输入名称时,我收到以下 NameError 消息:
Enter your name: Sean
Traceback (most recent call last):
File "test.py", line 1, in <module>
name = input("Enter your name: ")
File "<string>", line 1, in <module>
NameError: name 'Sean' is not defined
我发现解决这个问题的唯一方法是在引号中输入名称。
但是链接的视频演示了上述工作而无需为输入使用引号。
我是 Python 和 Sublime 的新手,所以希望有一个易于理解的修复程序。
此答案假设您是 运行 Linux 或 macOS,并且已经在您的系统上安装了 Python 3。
你得到 NameError
因为 SublimeREPL 使用的是 Python 2,这是一个旧版本,它在 2 年前就通过了 end-of-life 支持,并且在此之前很久就被弃用了。然而,并不是每个人都将他们的代码库移植到当前的 Python 3,这就是为什么您仍然可以在某些系统上找到它的原因。如果你刚开始学习Python,你绝对应该从使用Python 3开始,这是语言的现在和未来,然后在你熟练之后,你可以学习它和它之间的区别Python2.
好消息是,如果您使用的是 Linux 或 macOS 的最新版本,您可能已经在系统上安装了 Python 3,并且将 SublimeREPL 指向相对简单它。首先,打开 Sublime 并在 Linux 上打开 select Preferences → Browse Packages…
或在 macOS 上打开 Sublime Text → Preferences → Browse Packages…
.您系统的文件浏览器将打开一个名为 Packages
的文件夹,该文件夹至少包含 2 个子文件夹 - SublimeREPL
和 User
(取决于您目前安装的插件数量)。打开 SublimeREPL
文件夹,然后打开 config
,然后打开 Python
。将名为 Main.sublime-menu
的文件拖到您的 Sublime window 并将其语法设置为 JSON (View → Syntax → JSON
).
第 53 行应该是这样的:
"cmd": ["python", "-u", "$file_basename"],
将python
改为python3
:
"cmd": ["python3", "-u", "$file_basename"],
此外,如果您以后直接使用 REPL,请更改第 22 行和第 39 行,使它们也显示 python3
。
保存文件,然后切换回原始 Python 文件并使用 Python_Run
构建系统。您现在应该能够使用您的原始测试代码并获得正确的结果。
作为参考,Sublime Text 4 Packages
文件夹在不同的操作系统上位于不同的位置:
- Linux:
~/.config/sublime-text/Packages
- macOS/OS X:
~/Library/Application Support/Sublime Text/Packages
- Windows 常规安装:
C:\Users\<b><i>你的用户名</i></b>\AppData\Roaming\Sublime Text\Packages
- Windows 便携式安装:
<b><i>InstallationFolder</i></b>\Sublime Text\Data\Packages
我按照以下短视频中的说明允许 Python 脚本在 Sublime Text 中 运行。
https://www.youtube.com/watch?v=-d27eACbjnk
步骤是:
- 安装'Package Control'
- 安装'SublimeREPL'
- 选择'Tools > Build System > Build New System'
- 粘贴以下内容:
{
"target":"run_existing_window_command",
"id":"repl_python_run",
"file":"config/python/Main.sublime-menu"
}
- 另存为 'Python_Run' 并关闭标签页
- 打开新标签并另存为'test.py'
- 选择'Tools > Build System > Python_Run'
- 粘贴以下文本代码:
name = input("Enter your name: ")
print(name)
选择'Tools > Build'到运行。
根据提示输入姓名。
但是,当我输入名称时,我收到以下 NameError 消息:
Enter your name: Sean
Traceback (most recent call last):
File "test.py", line 1, in <module>
name = input("Enter your name: ")
File "<string>", line 1, in <module>
NameError: name 'Sean' is not defined
我发现解决这个问题的唯一方法是在引号中输入名称。 但是链接的视频演示了上述工作而无需为输入使用引号。
我是 Python 和 Sublime 的新手,所以希望有一个易于理解的修复程序。
此答案假设您是 运行 Linux 或 macOS,并且已经在您的系统上安装了 Python 3。
你得到 NameError
因为 SublimeREPL 使用的是 Python 2,这是一个旧版本,它在 2 年前就通过了 end-of-life 支持,并且在此之前很久就被弃用了。然而,并不是每个人都将他们的代码库移植到当前的 Python 3,这就是为什么您仍然可以在某些系统上找到它的原因。如果你刚开始学习Python,你绝对应该从使用Python 3开始,这是语言的现在和未来,然后在你熟练之后,你可以学习它和它之间的区别Python2.
好消息是,如果您使用的是 Linux 或 macOS 的最新版本,您可能已经在系统上安装了 Python 3,并且将 SublimeREPL 指向相对简单它。首先,打开 Sublime 并在 Linux 上打开 select Preferences → Browse Packages…
或在 macOS 上打开 Sublime Text → Preferences → Browse Packages…
.您系统的文件浏览器将打开一个名为 Packages
的文件夹,该文件夹至少包含 2 个子文件夹 - SublimeREPL
和 User
(取决于您目前安装的插件数量)。打开 SublimeREPL
文件夹,然后打开 config
,然后打开 Python
。将名为 Main.sublime-menu
的文件拖到您的 Sublime window 并将其语法设置为 JSON (View → Syntax → JSON
).
第 53 行应该是这样的:
"cmd": ["python", "-u", "$file_basename"],
将python
改为python3
:
"cmd": ["python3", "-u", "$file_basename"],
此外,如果您以后直接使用 REPL,请更改第 22 行和第 39 行,使它们也显示 python3
。
保存文件,然后切换回原始 Python 文件并使用 Python_Run
构建系统。您现在应该能够使用您的原始测试代码并获得正确的结果。
作为参考,Sublime Text 4 Packages
文件夹在不同的操作系统上位于不同的位置:
- Linux:
~/.config/sublime-text/Packages
- macOS/OS X:
~/Library/Application Support/Sublime Text/Packages
- Windows 常规安装:
C:\Users\<b><i>你的用户名</i></b>\AppData\Roaming\Sublime Text\Packages
- Windows 便携式安装:
<b><i>InstallationFolder</i></b>\Sublime Text\Data\Packages