SublimeREPL Python - 运行 当前文件由于 Python 系统构建而无法工作

SublimeREPL Python - Run Current File not working due to Python system build

我安装了 SublimeREPL 以通过 Anaconda Package Control 与我的 python 代码交互。

NameError: name 'tony' is not defined

我注意到我在一个简单的输入函数上遇到了 NameError。

错误是由于 SublimeREPL(python v2) 和我的 Sublime Python Built Systems version(v3) 之间的 python 版本差异引起的。

我按照这个 post 将 SublimeREPL 升级到版本 3,但是,你不能编辑 Main.Sublime-Menu。请建议将 SublimeREPL 更新为 Python v3.

的最佳步骤
def greetings():
       name_input = input('please enter your name:' )
       print('hello {}, please enter your age: '.format(name_input))
greetings()

Sublime Text 3 Image

在 macOS 上,您要编辑的文件位于 ~/Library/Application Support/Sublime Text 3/Packages/SublimeREPL/config/Python/Main.sublime-menu。在 Sublime 中将其作为 JSON 文件打开。转到 line 53 并将 python 更改为 python3,如果您确切知道它的存储位置,则可以选择在它前面添加一个路径。例如,如果您使用的是 Homebrew,它可能在 /usr/local/bin/python3 中。该行现在应如下所示:

                        "cmd": ["python3", "-u", "$file_basename"],

或这个

                        "cmd": ["/opt/local/bin/python3", "-u", "$file_basename"],

(这是 MacPorts 的位置)。

保存文件,菜单选项现在应该可以使用了。

很好的问答。笔记;您可以在代码中使用 f-strings 改进的字符串格式化语法,请参见下文。

def get_user_input():
    name_input = input('please enter your name:' )
    print(f'hello {name_input}, please enter your age: ')
get_user_input()