当前位置:博客首页>>Python >> 阅读正文

SublimeText3按ctrl+b执行python无反应

作者: 郑晓 分类: Python 发布于: 2016-08-17 12:17 浏览(12,807) 评论(12)


最后更新时间:2017-09-14
现象:
在Sublime中打开.py文件,按”ctrl+b”执行时无反应。点击工具->编译系统中已经有且识别到Python,但执行”run(ctrl+shift+b)”时无反应,Sublime左下角提示”No Build System with variant run”。

解决:
首先打开一个CMD,在左上角单击,选择”属性”。在属性->选项中查看”当前代码页”一项中的数值。(这一步可选)
sublime-python-build-cmd
然后打开Sublime安装目录,打开Packages,找到里面的”Python.sublime-package”文件,复制出来一份留作备份。把这个文件后缀改为.zip,打开这个压缩包。

在打开压缩包中找到”Python.sublime-build”文件拖出来编辑一下它(编辑工具可用sublime或其它文本编辑器直接打开)。
原文件内容应该类似这样:

{
    "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,成功执行。
windows-sublime-python-buildsystem

PS:不成功的原因可能是第一行cmd命令问题或encoding编码不对(如果上述法不成功,尝试将encoding的值改为第一步查看到的数值)或其它参数有问题比如我这里的variants也有问题,所以我就直接去掉了。。。。

======================2017-09-14 更新======================
另一方法:
菜单中点击–> 工具 –> 编译系统 –> 新建编译系统
把里面的默认配置内容删除,改成下面这样:

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

保存,命名为python.sublime-build即可,重命名时的这个python字符串,我觉得改成其它的也可以,它只是会显示在你菜单编译系统列表里而已。
关掉sublime重新打开测试,新建一个.py文件,写一个helloworld, ctrl+b 成功。

↓↓↓微信扫码请我吃辣条↓↓↓

本文出自 郑晓个人博客,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/sublimetext3-ctrlb-python-buildsystem.html

SublimeText3按ctrl+b执行python无反应:目前有12 条留言

用户评论头像 小萱萱发表于 2017年11月01日 19:09[回复]

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

    用户评论头像 郑晓发表于 2017年11月01日 20:06[回复]

    可以的,cmd这里可以写完整路径,也可以加一个path。

用户评论头像 KYF发表于 2017年09月21日 01:31[回复]

第二种方法亲测简单好用。感谢

用户评论头像 冰晴水隐发表于 2017年09月13日 15:56[回复]

博主大大,我刚刚开始使用sublime text,装上之后无法运行,按照这个方法改了之后还是不行。cmd中可以直接执行Python,但是这里不行,求解!要不我先回去重装一下好了(`・ω・´)

    用户评论头像 郑晓发表于 2017年09月14日 16:58[回复]

    文章已经更新,你可以再试试第二种方法。

      用户评论头像 KYF发表于 2017年09月21日 01:31[回复]

      第一种方法没用,第二种方法亲测简单有效。感谢。

用户评论头像 维克多发表于 2017年09月11日 13:26[回复]

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

    用户评论头像 郑晓发表于 2017年09月11日 14:13[回复]

    给你找了这篇文章,http://lipq.farbox.com/post/2014/2014-03-14-zai-sublime-text3zhong-yun-xing-php
    这样做就行了。前提是你的环境变量已经包含了php目录(也就是在cmd中,直接输入php,可以执行,无报错)。

用户评论头像 沉醉寒风发表于 2016年08月19日 16:11[回复]

我今天安装sublime写Python也出现这个问题,但是按照这方法改也还是不行

    用户评论头像 郑晓发表于 2016年08月22日 12:38[回复]

    你系统环境变量是否设置?在cmd中直接执行python命令可以吗?

      用户评论头像 沉醉寒风发表于 2016年08月29日 15:37[回复]

      环境变量装python的时候有一个选项会自动设置的,cmd里面可以设置。

      后面重装了一下sublime可以了