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之旅。