Sublime?Text?配置?Python?環(huán)境的問題及解決方案
本文給出了本人在使用 Sublime Text 配置 Python 環(huán)境的記錄。主要為了解決中文亂碼的問題以及 Sublime Text 默認(rèn)的輸出窗口無法進(jìn)行輸入的問題。
注意:本文默認(rèn)在 Windows 系統(tǒng)下,Sublime Text 版本為 4(及以上)。對(duì)于 Mac 和 Linux 系統(tǒng)幾乎沒有什么不同,此外,本文也同樣適用于 Sublime Text 3。
總的來說,Python 環(huán)境的配置十分簡(jiǎn)單,也不需要下載安裝一些插件。有一些解決方案僅僅為了實(shí)現(xiàn) Python 程序的輸入問題,就大費(fèi)周章。本文給出個(gè)人的簡(jiǎn)單解決辦法。
Python 的安裝
想使用 Python,首先得安裝 Python。
我們?nèi)?Python 官網(wǎng)進(jìn)行下載,點(diǎn)擊 Downloads,一般來說選擇最新版本進(jìn)行下載即可。
安裝的詳細(xì)過程在此不討論了。需要注意的是,要確保Python的安裝路徑已經(jīng)添加到系統(tǒng)的環(huán)境變量 Path
中,可以通過 Win+R
打開 cmd
,輸入 python
來檢驗(yàn)是不是安裝成功了。如果成功,則會(huì)打印一些如 Python 版本號(hào)之類的信息,并進(jìn)入 >>>
的交互式環(huán)境。
Sublime Text 構(gòu)建系統(tǒng)
接下來是重點(diǎn),關(guān)于 Sublime Text 構(gòu)建系統(tǒng)的詳細(xì)內(nèi)容,請(qǐng)參見本人的另一篇文章:
Sublime Text 構(gòu)建系統(tǒng) - 學(xué)習(xí)整理
打開 Sublime Text,按照 Tools | Build System | New Build System...
新建一個(gè) .sublime-build
文件。這個(gè)文件可以任意起一個(gè)名字,如 Python.sublime-build
,我們將使用這個(gè)文件來自定義構(gòu)建系統(tǒng)。一般把這個(gè)文件保存在用戶目錄的 Packages 文件夾或其子目錄下(即 path\to\your\username\AppData\Roaming\Sublime Text\Packages
或其子目錄下)。
我們完全不需要自己從頭寫一個(gè)構(gòu)建系統(tǒng),只需要先看一看 Sublime Text 自帶的 Python 的構(gòu)建系統(tǒng)是怎么寫的,然后稍作改動(dòng)即可。
在 Sublime Text 的安裝路徑下,我們找到 Packages 文件夾,然后在里面尋找到 Python.sublime-package
,這就是 Sublime Text 自帶的 Python 包。
這個(gè) .sublime-package
文件實(shí)際上就是一個(gè) zip 壓縮包,我們把它復(fù)制到其他位置并重命名為 Python.zip
,打開壓縮包我們會(huì)看到其中的一個(gè)文件 Python.sublime-build
,這就是 Python 的構(gòu)建系統(tǒng)文件了。 Python.sublime-build
文件的內(nèi)容如下:
Python.sublime-build:
{ "cmd": ["python3", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "env": {"PYTHONIOENCODING": "utf-8"}, "windows": { "cmd": ["py", "-u", "$file"], }, "variants": [ { "name": "Syntax Check", "cmd": ["python3", "-m", "py_compile", "$file"], "windows": { "cmd": ["py", "-m", "py_compile", "$file"], } } ] }
我們從主 "cmd"
或是 "windows"
選項(xiàng)內(nèi)的 "cmd"
都可以知道,Sublime Text 內(nèi)部的 exec
命令將調(diào)用 python.exe
(相當(dāng)于在命令行輸入 python
),參數(shù)有兩個(gè):一個(gè)是 -u
,表示強(qiáng)制不緩沖 stdout 和 stderr 流;另一個(gè)是 $file
,表示當(dāng)前的文件路徑。輸出結(jié)果將顯示在 Sublime Text 內(nèi)部的輸出窗口中。另外,
"env": {"PYTHONIOENCODING": "utf-8"}
將解決某些中文亂碼問題。
考慮一下現(xiàn)有的 Python 構(gòu)建系統(tǒng)的缺陷,其實(shí),它還真沒有太多的缺陷,對(duì)于一般的使用足夠了——特別是當(dāng)你的 Python 程序不需要從鍵盤輸入時(shí)。
為了解決對(duì)于鍵盤輸入的需求,我們可以用 cmd 窗口來運(yùn)行 Python 程序,這樣不就能處理輸入了嗎。為此,我們只需要把 "cmd"
換掉,用以下的代碼取而代之:
"shell_cmd": "start cmd /c \"python -u \"${file_name}\" & pause\""
它的意思就是啟動(dòng) cmd
,然后執(zhí)行 python
的命令,直到程序運(yùn)行完畢,最后暫停一下,通過按任意鍵退出,cmd 窗口也隨之關(guān)閉。/c
就是表示執(zhí)行由后面字符串指定的命令,然后關(guān)閉 cmd 窗口。
下面給出 Python 自定義的構(gòu)建系統(tǒng)的完整代碼:
{ "cmd": ["python", "-u", "${file_name}"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "working_dir": "${file_path}", "selector": "source.python", "env": {"PYTHONIOENCODING": "utf-8"}, "variants": [ { "name": "Python (cmd)", "shell_cmd": "start cmd /c \"python -u \"${file_name}\" & pause\"" } ] }
注意,我們將寫好的 .sublime-build
文件保存在用戶目錄的 Packages 文件夾或其子目錄下(即 path\to\your\username\AppData\Roaming\Sublime Text\Packages
或其子目錄下)。直接修改 Sublime Text 安裝目錄的 Packages 目錄下的文件是徒勞的,因?yàn)樗鼈兪侵蛔x文件,每次啟動(dòng) Sublime Text 都會(huì)重置這些文件。
不用擔(dān)心自己寫的 Python.sublime-build
文件與 Sublime Text 自帶的 Python.sublime-build
文件沖突。這兩個(gè)文件的配置都會(huì)在按快捷鍵 Ctrl+Shift+B
選擇構(gòu)建系統(tǒng)時(shí)顯示出來,你可能會(huì)看到兩個(gè) Python 的配置,第一個(gè)是 Sublime Text 自帶的,第二個(gè)就是你自己寫的——如果你將你自定義的 .sublime-build
文件命名為 Python.sublime-build
了的話。如果不然,那么你的配置名稱就是你 .sublime-build
文件的文件名(不加后綴)。
到此這篇關(guān)于Sublime Text 配置 Python 環(huán)境的文章就介紹到這了,更多相關(guān)Sublime Text 配置 Python內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
keras實(shí)現(xiàn)多GPU或指定GPU的使用介紹
這篇文章主要介紹了keras實(shí)現(xiàn)多GPU或指定GPU的使用介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06python+Matplotlib?繪制帶置信區(qū)間的折線圖
這篇文章主要介紹了python繪制帶置信區(qū)間的折線圖,在本文中,我們將使用?numpy?模塊生成隨機(jī)數(shù)據(jù),并使用?matplotlib?庫實(shí)現(xiàn)數(shù)據(jù)可視化,需要的朋友可以參考下2023-05-05opencv檢測(cè)動(dòng)態(tài)物體的實(shí)現(xiàn)
本文主要介紹了opencv檢測(cè)動(dòng)態(tài)物體的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07python UDF 實(shí)現(xiàn)對(duì)csv批量md5加密操作
這篇文章主要介紹了python UDF 實(shí)現(xiàn)對(duì)csv批量md5加密操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01詳解python定時(shí)簡(jiǎn)單爬取網(wǎng)頁新聞存入數(shù)據(jù)庫并發(fā)送郵件
這篇文章主要介紹了python定時(shí)簡(jiǎn)單爬取網(wǎng)頁新聞存入數(shù)據(jù)庫并發(fā)送郵件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11