Sublime Text 2 控制台与 Python 3
我可以在Sublime Text 2中把构建命令设置为使用python3.2(并且可以用python3.2来构建),但是当我按cmd-`打开控制台时,解释器却是Mac默认的2.6版本。希望能得到一些帮助!
4 个回答
你可以试着在“工具” > “构建系统” > “新建构建系统”里设置一些类似下面的环境变量。
{
"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"
}
Cmd+` 这个组合键应该是用来打开Sublime Text里面的嵌入式解释器控制台的,也就是你在开发或调试Sublime插件时用的那个控制台。你可以通过注意到 sublime
模块是可以用的来确认这一点。
如果你真的想在里面使用Python 3的控制台,可以升级到Sublime Text 3,因为它内置了Python 3.3。或者,你也可以使用一个专门的插件,比如SublimeREPL(可以参考@MattDMo的回答)。
顺便说一下:如果你想要一个适合进行交互式Python工作的环境,我建议你可以忽略上面的内容,试试IPython Notebook。
Sublime Text 2的控制台使用的是内部版本的Python,具体是2.6版本。想要更改这个版本的话,会导致很多东西出问题。不过,有一个解决办法。如果你只是想在Sublime Text 2里使用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更新中也不会丢失。顺便说一下,这个路径适用于任何插件,所以你可以放心地进行自定义,而不用担心会意外丢失设置。