【发布时间】:2023-03-06 15:11:01
【问题描述】:
我可以为 sublime text 2 中的构建命令设置 python3.2(并使用 python3.2 构建),但是在使用 cmd-`调用控制台时> 解释器是mac默认的2.6版本。 非常感谢任何帮助!
【问题讨论】:
-
忘了说我在 OS X 10.6.8
标签: python python-3.x sublimetext2
我可以为 sublime text 2 中的构建命令设置 python3.2(并使用 python3.2 构建),但是在使用 cmd-`调用控制台时> 解释器是mac默认的2.6版本。 非常感谢任何帮助!
【问题讨论】:
标签: python python-3.x sublimetext2
Sublime Text 2 中的控制台使用 Python 的内部版本,即 2.6。如果不破坏一大堆东西,就没有办法改变它。不过,有一个解决方法。如果您只想要 ST2 中的 Python 控制台,请使用很棒的 SublimeREPL 包,它也可以通过 Package Control 安装。除此之外,您还可以发送选择或整个文件以通过您选择的 REPL(包括 Python 3)进行解释。使用以下内容创建 Packages/User/SublimeREPL/config/Python/Main.sublime-menu:
[
{
"id": "tools",
"children":
[{
"caption": "SublimeREPL",
"mnemonic": "r",
"id": "SublimeREPL",
"children":
[
{"caption": "Python",
"id": "Python",
"children":[
{"command": "repl_open",
"caption": "Python 3",
"id": "repl_python3",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python3", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
}
]
}
]
}]
}
]
将"cmd" 选项更改为python3 二进制文件的完整 路径。这样,您的更改将在任何 SublimeREPL 升级后继续存在。顺便说一句,此路径适用于任何包,因此您可以随意自定义,而不必担心意外丢失所有包。
【讨论】:
SublimeREPL不是我写的,但是我每天都在用,作者回复问题或者bug真的很厉害。
Cmd+` 应该打开 Sublime Text 的嵌入式解释器控制台,即您在开发或调试 Sublime 插件时使用的解释器控制台。您可以通过注意到 sublime 模块可用来验证这一点。
如果你真的想要 Python 3 控制台,请升级到嵌入 Python 3.3 的 Sublime Text 3。或者,使用SublimeREPL 之类的专用插件(请参阅@MattDMo 的答案)。
顺便说一句:如果您想要一个用于交互式 Python 工作的良好环境,我建议您忽略以上内容并给IPython Notebook 一个机会。
【讨论】:
您可以尝试在 Tools > Build System > New Build System 中设置类似于以下的环境变量
{
"path": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
"env":
{
"PYTHONPATH":"/usr/local/lib/python:/usr/local/username/python/3.2/lib/python3.2/"
},//this comma!
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
【讨论】:
您看到的是与 Sublime Text 捆绑在一起的 Python。我不会升级它,但如果你想使用自己的,你可以这样做:
ln -s $HOME/.pythonbrew/pythons/Python-2.6/lib/python2.6 /Your_Sublime_Install_Path/lib/python2.6
【讨论】: