Sublime Text3很多人都用过,非常方便。这里分享一下我用Sublime Text3写Python程序,不能运行含有输入输出的程序的解决办法,即不能交互问题的解决。办法很简单,手动安装sublimerepl插件,即可配置交互环境,正常输入输出。
一、问题具体描述:安装Sublime Text3,正常。Python版本: 3.6.4 2017.12.09,正常。用sublime运行Python程序,有以下问题:安装Sublime Text3,正常。Python版本: 3.6.4 2017.12.09,正常。用sublime运行Python程序,一般可运行,有输入输出不能运行,如下。
(1)可以正常运行Hello World
(2)不能正常运行含义输入指令的程序
二、网上查找资料,解决问题的失败经历,不感兴趣的可以直接跳过看步骤三,有懂得也可以回复我为什么失败。。。
1、说设置Python.sublime-build
然而,按这个步骤,并没有什么该程序包,如图
Packages里面没有,而且
User路径下面也没有
2、继续查资料,让自己新建一个文件
然而,还是不行。
3、说到了配置交互环境
安装包管理器(package control),查看→显示/隐藏控制台→打开控制台粘贴以下代码→Enter
import urllib.request,os,hashlib; h ='df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf ='Package Control.sublime-package'; ipp = sublime.installed_packages_path();urllib.request.install_opener( urllib.request.build_opener(urllib.request.ProxyHandler()) ); by = urllib.request.urlopen('http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh =hashlib.sha256(by).hexdigest(); print('Error validating download (got %sinstead of %s), please try manual install' % (dh, h)) if dh != h elseopen(os.path.join( ipp, pf), 'wb' ).write(by)
按ctrl+shift+p快捷键呼出一个输入框,输入Install Package,回车,在新出现的输入框里输入SublimeREPL,在下面的选择列表中选中回车就会开始安装,一般几秒钟就能装完。
在刚刚的python文件的界面里点击上方菜单栏的工具->sublimeREPL->python->python runcurrent file,这时候就像IDLE一样,会弹出一个新的窗口,而且是可交互的,可以输入结果,又失败了,如下:
(1)
(2)
(3)
4、继续查资料,说
据StackOverflow上说是IPv6造成,如果我们的Intent服务提供者(ISP)不支持IPv6就会引发上述错误,原文如下:
Thiserror is happened with IPv6 problem. If yourInternet Service Provider (ISP)does not support for IPv6 you got this error.于是,按图所示Ping了地址,更改host文件,还是失败。。。
5、查资料,让下载一个Package Control.sublime-package文件。找到Installed Packages文件夹,赋值粘贴进去。
恩,依然是 失败。。。
交互环境需要的插件是sublimeREPL,那就手动下载包文件,在百度搜索:sublime3插件sublimeREPL,看到了同病相怜的程序员,泪奔,
在github上可以找到该包文件,下载地址是:https://github.com/wuub/SublimeREPL
点击下载
下载好sublimerepl插件包,解压放在Sublime的包(Packages)文件目录下,
包放到该文件目录下之后,还要更改配置文件。
打开D:\Program Files\develop\SublimeText3\Data\Packages\SublimeREPL\config\Python文件目录,找到“Main.sublime-menu”文件,用sublime打开,找到下图所示的语句位置,将cmd所在行修改为: "cmd":["python", "-i", "-u","$file_basename"],
修改完之后,可以通过工具中的插件运行有输入输出的程序。为了方便使用,我们再修改快捷键。
如图点击 首选项->按键绑定-用户,
然后在打开的文件中输入:
[
{"keys":["f5"],
"caption":"SublimeREPL: Python - RUN current file",
"command":"repl_open",
"args":{
"type":"subprocess",
"encoding":"utf8",
"cmd": ["python", "-i", "-u","$file"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python"
}
}
]
保存文件,关闭。配置完成。OK,来跑个程序试试
程序:
结果:
还有一点小bug,中文有点问题,暂时影响不大,之后有时间再更新。
那么快来运行你自己的python程序,开始Python之旅。