編譯系統(tǒng)中已經(jīng)有且識別到Python,但執(zhí)行”run(ctrl+shift+b)”時無反這是鄭曉技術(shù)博客的原創(chuàng)博文"/ >
當(dāng)前位置:博客首頁>>Python >> 閱讀正文

SublimeText3按ctrl+b執(zhí)行python無反應(yīng)

作者: 鄭曉 分類: Python 發(fā)布于: 2016-08-17 12:17 瀏覽:51,686 評論(15)


最后更新時間:2017-09-14
現(xiàn)象:
在Sublime中打開.py文件,按”ctrl+b”執(zhí)行時無反應(yīng)。點擊工具->編譯系統(tǒng)中已經(jīng)有且識別到Python,但執(zhí)行”run(ctrl+shift+b)”時無反應(yīng),Sublime左下角提示”No Build System with variant run”。

解決:
首先打開一個CMD,在左上角單擊,選擇”屬性”。在屬性->選項中查看”當(dāng)前代碼頁”一項中的數(shù)值。(這一步可選)
sublime-python-build-cmd
然后打開Sublime安裝目錄,打開Packages,找到里面的”Python.sublime-package”文件,復(fù)制出來一份留作備份。把這個文件后綴改為.zip,打開這個壓縮包。

在打開壓縮包中找到”Python.sublime-build”文件拖出來編輯一下它(編輯工具可用sublime或其它文本編輯器直接打開)。
原文件內(nèi)容應(yīng)該類似這樣:

{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",

"env": {"PYTHONIOENCODING": "utf-8"},

"variants":
[
{
"name": "Syntax Check",
"shell_cmd": "python -m py_compile \"${file}\"",
}
]
}

改成這樣:

{
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8",
"env": {"PYTHONIOENCODING": "utf-8"}
}

保存后拖回zip中覆蓋,然后把.zip改回.sublime-package,覆蓋回Packages目錄即修改完成。

打開一個.py,敲一句print ‘hello world’, ctrl+b,成功執(zhí)行。
windows-sublime-python-buildsystem

PS:不成功的原因可能是第一行cmd命令問題或encoding編碼不對(如果上述法不成功,嘗試將encoding的值改為第一步查看到的數(shù)值)或其它參數(shù)有問題比如我這里的variants也有問題,所以我就直接去掉了。。。。

======================2017-09-14 更新======================
另一方法:
菜單中點擊–> 工具 –> 編譯系統(tǒng) –> 新建編譯系統(tǒng)
把里面的默認(rèn)配置內(nèi)容刪除,改成下面這樣:

{
"cmd": ["python", "$file"],
"file_regex": "py$",
"selector": "source.python"
}

保存,命名為python.sublime-build即可,重命名時的這個python字符串,我覺得改成其它的也可以,它只是會顯示在你菜單編譯系統(tǒng)列表里而已。
關(guān)掉sublime重新打開測試,新建一個.py文件,寫一個helloworld, ctrl+b 成功。

? ? ? ?

本文采用知識共享署名-非商業(yè)性使用 3.0 中國大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時請注明出處及相應(yīng)鏈接。

本文永久鏈接: http://yjfs.org.cn/sublimetext3-ctrlb-python-buildsystem.html

SublimeText3按ctrl+b執(zhí)行python無反應(yīng):目前有15 條留言

用戶評論頭像 will發(fā)表于 2019年03月06日 10:58[回復(fù)]

新建編譯系統(tǒng)后,在工具-編譯系統(tǒng)-選你剛命名的就行了

用戶評論頭像 小熊發(fā)表于 2018年03月29日 21:23[回復(fù)]

python路徑安裝好了 可是在編譯的時候出現(xiàn)WinError 193] %1 不是有效的 Win32 應(yīng)用程owerShell\v1.0\;C:\Program Files (x86)\Common Files\lenovo\easyplussdk\bin;C:\Program Files (x86)\NVIDIA 怎么解決。。

用戶評論頭像 小萱萱發(fā)表于 2017年11月01日 19:09[回復(fù)]

我按第二種方法寫上安裝路徑就好了(注意子目錄的連接符是/而不是\):
“cmd”: [“C:/Users/dell/AppData/Local/Programs/Python/Python36/python.exe”, “$file”],
“file_regex”: “py$”,
“selector”: “source.python”

    用戶評論頭像 鄭曉發(fā)表于 2017年11月01日 20:06[回復(fù)]

    可以的,cmd這里可以寫完整路徑,也可以加一個path。

      用戶評論頭像 火藍(lán)發(fā)表于 2018年09月27日 15:28[回復(fù)]

      謝謝大佬,親測有效

用戶評論頭像 KYF發(fā)表于 2017年09月21日 01:31[回復(fù)]

第二種方法親測簡單好用。感謝

用戶評論頭像 冰晴水隱發(fā)表于 2017年09月13日 15:56[回復(fù)]

博主大大,我剛剛開始使用sublime text,裝上之后無法運(yùn)行,按照這個方法改了之后還是不行。cmd中可以直接執(zhí)行Python,但是這里不行,求解!要不我先回去重裝一下好了(`?ω?′)

    用戶評論頭像 鄭曉發(fā)表于 2017年09月14日 16:58[回復(fù)]

    文章已經(jīng)更新,你可以再試試第二種方法。

      用戶評論頭像 KYF發(fā)表于 2017年09月21日 01:31[回復(fù)]

      第一種方法沒用,第二種方法親測簡單有效。感謝。

用戶評論頭像 維克多發(fā)表于 2017年09月11日 13:26[回復(fù)]

博主大大.php的怎么弄呢?已用上述方法..

    用戶評論頭像 鄭曉發(fā)表于 2017年09月11日 14:13[回復(fù)]

    給你找了這篇文章,http://lipq.farbox.com/post/2014/2014-03-14-zai-sublime-text3zhong-yun-xing-php
    這樣做就行了。前提是你的環(huán)境變量已經(jīng)包含了php目錄(也就是在cmd中,直接輸入php,可以執(zhí)行,無報錯)。

用戶評論頭像 沉醉寒風(fēng)發(fā)表于 2016年08月19日 16:11[回復(fù)]

我今天安裝sublime寫Python也出現(xiàn)這個問題,但是按照這方法改也還是不行

    用戶評論頭像 鄭曉發(fā)表于 2016年08月22日 12:38[回復(fù)]

    你系統(tǒng)環(huán)境變量是否設(shè)置?在cmd中直接執(zhí)行python命令可以嗎?

      用戶評論頭像 沉醉寒風(fēng)發(fā)表于 2016年08月29日 15:37[回復(fù)]

      環(huán)境變量裝python的時候有一個選項會自動設(shè)置的,cmd里面可以設(shè)置。

      后面重裝了一下sublime可以了

發(fā)表評論

change vcode