Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)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

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

(2)不能正常运行含义输入指令的程序

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

二、网上查找资料,解决问题的失败经历,不感兴趣的可以直接跳过看步骤三,有懂得也可以回复我为什么失败。。。

1、说设置Python.sublime-build

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

然而,按这个步骤,并没有什么该程序包,如图

      打开Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

Packages里面没有,而且

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

User路径下面也没有

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

2、继续查资料,让自己新建一个文件

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

然而,还是不行。

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)

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

      (2)

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

      (3)

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

4、继续查资料,说

      据*上说是IPv6造成,如果我们的Intent服务提供者(ISP)不支持IPv6就会引发上述错误,原文如下:

Thiserror is happened with IPv6 problem. If yourInternet Service Provider (ISP)does not support for IPv6 you got this error.

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

      于是,按图所示Ping了地址,更改host文件,还是失败。。。

5、查资料,让下载一个Package Control.sublime-package文件。找到Installed Packages文件夹,赋值粘贴进去。

       Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

恩,依然是 失败。。。

三、手动安装包,终于到了成功的办法了。

      交互环境需要的插件是sublimeREPL,那就手动下载包文件,在百度搜索:sublime3插件sublimeREPL,看到了同病相怜的程序员,泪奔,

      在github上可以找到该包文件,下载地址是:https://github.com/wuub/SublimeREPL

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

点击下载

       Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

下载好sublimerepl插件包,解压放在Sublime的包(Packages)文件目录下,

     Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

包放到该文件目录下之后,还要更改配置文件。

打开D:\Program Files\develop\SublimeText3\Data\Packages\SublimeREPL\config\Python文件目录,找到“Main.sublime-menu”文件,用sublime打开,找到下图所示的语句位置,将cmd所在行修改为:  "cmd":["python", "-i", "-u","$file_basename"],

如图

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

修改完之后,可以通过工具中的插件运行有输入输出的程序。为了方便使用,我们再修改快捷键。

如图点击 首选项->按键绑定-用户,

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

然后在打开的文件中输入:

[

         {"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,来跑个程序试试

程序:

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

结果:

      Sublime Text3如何运行包含输入输出的Python程序(即配置交互环境)

还有一点小bug,中文有点问题,暂时影响不大,之后有时间再更新。

那么快来运行你自己的python程序,开始Python之旅。