如何在Mac OS 12.1上使用SublimeREPL避免Sublime Text 4中输入()中的NameError?

How can I avoid NameError from input() in Sublime Text 4, using SublimeREPL on Mac OS 12.1?(如何在Mac OS 12.1上使用SublimeREPL避免Sublime Text 4中输入()中的NameError?)
本文介绍了如何在Mac OS 12.1上使用SublimeREPL避免Sublime Text 4中输入()中的NameError?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我按照以下短视频中的说明操作,以允许在崇高文本中运行Python脚本。

https://www.youtube.com/watch?v=-d27eACbjnk

步骤如下:

  1. 安装‘Package Control’
  2. 安装‘SublimeREPL’
  3. 选择‘工具&>生成系统&>生成新系统’
  4. 粘贴以下内容:
{
    "target":"run_existing_window_command",
    "id":"repl_python_run",
    "file":"config/python/Main.sublime-menu"
}
  1. 另存为‘PYTHON_RUN’并关闭选项卡
  2. 打开新选项卡并另存为‘test.py’
  3. 选择‘Tools&>;Build System&>Python_Run’
  4. 粘贴以下文本代码:
name = input("Enter your name: ")

print(name)
  1. 选择"工具&>生成"以运行。

  2. 按照提示输入名称。

但是,当我输入名称时,收到以下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,并且您的系统上已经安装了Python3。

您得到的是NameError,因为SublimeREPL使用的是Python2,这是一个早在2年前就已停产的旧版本,在那之前很久就被弃用了。然而,并不是每个人都将他们的代码库移植到当前的Python3上,这就是为什么您仍然可以在一些系统上找到它的原因。如果你刚刚开始学习,你绝对应该从使用Python3开始,这是这门语言的现在和未来,等你熟练了,你就可以了解它和Python2的区别。

好消息是,如果您使用的是最新版本的Linux或MacOS,那么您的系统上可能已经安装了Python3,并且将SublimeREPL指向它是相对简单的。若要启动,请打开Sublime,然后在Linux上选择Preferences → Browse Packages…或在MacOS上选择Sublime Text → Preferences → Browse Packages…。您系统的文件浏览器将打开一个名为Packages的文件夹,其中至少包含两个子文件夹-SublimeREPLUser(取决于您到目前为止安装了多少插件)。打开SublimeREPL文件夹,然后打开configPython。将名为Main.sublime-menu的文件拖到您的Sublime窗口中,并将其语法设置为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 4Packages文件夹位于不同操作系统的不同位置:

  • Linux:~/.config/sublime-text/Packages
  • MacOS/OS X:~/Library/Application Support/Sublime Text/Packages
  • Windows常规安装:C:UsersYourUserNameAppDataRoamingSublime TextPackages
  • Windows便携安装:InstallationFolderSublime TextDataPackages

这篇关于如何在Mac OS 12.1上使用SublimeREPL避免Sublime Text 4中输入()中的NameError?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)