【问题标题】:Python3 in SublimeText3 configuration OSXSublimeText3 中的 Python3 配置 OSX
【发布时间】:2018-09-13 07:34:29
【问题描述】:

我有一些 C++ 编程经验,但正在尝试学习 Python - 我正在努力通过我今天尝试配置的 SublimeText 3 在 Python3 中显示“hello world”。已阅读有关此主题的许多帖子,但尚未解决我的问题,感谢任何见解。

到目前为止我有:

今天使用 .dmg 实用程序安装了 Python3 和 SublimeText3

确认Python3通过终端安装,路径为“/usr/local/bin/python3”和“/Library/Frameworks/Python.framework/Versions/3.7/bin/python3”

使用以下命令创建新的 Python3.sublime-build 文件并保存到本地“用户”目录:

{
  "cmd": ["usr/local/bin/python3", "-u", "$file"],
}

然后我在“工具”菜单中将 Sublime Text Build System 更改为 Python3。

创建并保存了一个新的 .py 文件。当提示 print("Hello") 但将其设置为变量时,它成功构建并运行(Cmd + B)

message = "Hello"
print(message)

它返回一个语法错误:

  File "/Users/username/python_files/hello.py", line 2
message = "Hello"
        ^
SyntaxError: invalid syntax
[Finished in 0.0s with exit code 1]
[cmd: ['/Library/Frameworks/Python.framework/Versions/3.7/bin/python3', '-u', '/Users/username/python_files/hello.py']]
[dir: /Users/username/python_work]
[path: /Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]

我在尝试构建之前保存了 .py 文件。我根据用户的建议尝试了 sublime-build 命令的其他变体,但都没有奏效:

"cmd": ["/usr/local/bin/python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"

不太擅长 Unix 或 OSX 终端,所以我自己的故障排除有点有限。我应该在哪里寻找让这个东西工作的地方?感谢您的帮助,并渴望开始。

【问题讨论】:

  • 我同时使用 ST3 和 VSC(以及一些 IDE),但 VSC 为我赢得了胜利,我在 ST3 中编写提交,仅此而已。不妨试试看,祝你好运!

标签: python python-3.x sublimetext3


【解决方案1】:

您是否已经尝试一步一步地遵循这个instruction?我刚试了一下,说明有效。

从您的代码清单看来,您指定

{
  "cmd": ["usr/local/bin/python3", "-u", "$file"],
}

内置系统输出显示

[cmd: ['/Library/Frameworks/Python.framework/Versions/3.7/bin/python3', ...

您的系统或列表中的 python 路径混合在一起。在第一种情况下,尝试在终端中运行 python3 并执行

import sys
print(sys.executable)

这将为您提供正确的 python 路径。复制路径并将其粘贴到您的.sublime-build 文件的"cmd" 语句中

"cmd": ["/path/to/your/python/python3", "-u", "$file"]

应该这样做

【讨论】:

  • 感谢链接和更新 - 我已经看到并遵循了该指令链接,但语法错误仍然存​​在。我在终端中打开了 python3,并确认可执行文件是/Library/Frameworks/ 路径。然后我将cmd: 路径更改为您建议的修复程序,但它仍然给出类似的语法错误。我最初通过 .dmg 安装了 python3,后来尝试了 Homebrew 建议作为故障排除的一部分,不确定这是否考虑了多个路径。
  • 嗯,好的。 OSX 自动选择 python2 可能存在问题(即使我看到,您正确配置了构建器以使用较新的 python3.7)。不过,您的“hello world”代码也应该在 python2 中工作。无论如何你可以尝试检查这些link这里是否有用
【解决方案2】:

感谢大家提供的有用链接——我意识到我的整个 python3 代码都包含在 {} 括号中,从而解决了这个问题——显然这是不正确的。值得称赞的是,这种格式仍然只使用括号内的基本print("Text")。祝我发现之旅好运,听起来我需要它......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 2019-02-24
    相关资源
    最近更新 更多