Sublime怎么运行Python程序 Sublime配置Python开发环境【配置】

3次阅读

sublime Text 需配置构建系统才能运行 python,本质是调用系统 python 命令;常见问题包括解释器路径错误、编码不匹配(需设 “encoding”: “utf-8″)及交互式输入不支持。

Sublime怎么运行Python程序 Sublime配置Python开发环境【配置】

sublime text 不能直接“运行”Python,得靠构建系统

Sublime Text 本身不是 ide,没有内置 Python 运行器。所谓“运行”,其实是调用系统已安装的 pythonpython3 命令执行当前文件。如果你按 Ctrl+Bwindows/linux)或 Cmd+BmacOS)没反应、报错或输出乱码,大概率是构建系统没配对,或者终端环境和 Sublime 不一致。

  • 检查系统是否真装了 Python:终端里运行 python --versionpython3 --version 看能否返回版本号
  • 确认 python 命令指向的是你想要的版本(比如想用 Python 3.11,但 python 指向的是 2.7,就会出问题)
  • Windows 用户尤其注意:PATH 里有 python.exe,但 Sublime 可能读不到——它默认用 shell 环境,而某些安装方式(如 microsoft Store 版 Python)不写入全局 PATH

怎么配一个靠谱的 Python 构建系统(支持 python3 和虚拟环境)

路径:Tools → Build System → New Build System…,粘贴以下内容并保存为 Python3.sublime-build(文件名必须以 .sublime-build 结尾):

{     "shell_cmd": "python3 -u "$file"",     "file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",     "selector": "source.python",     "encoding": "utf-8",     "variants": [         {             "name": "Run in Terminal",             "shell_cmd": "gnome-terminal -- bash -c "python3 -u '$file'; read -p 'Press Enter to continue...'""         }     ] }
  • shell_cmd 中的 -u 强制未缓冲输出,避免 print 不实时刷到面板
  • macOS 用户把 gnome-terminal 换成 open -a Terminal 或用 osascript 调起终端;Windows 用户可改用 cmd /c python -u "$file"
  • 若项目用了 venv,把 python3 改成虚拟环境里 Scripts/python.exe(Windows)或 bin/pythonmacos/Linux)的绝对路径,否则仍走系统 Python
  • 保存后,在右下角状态栏点击构建系统名称,选中刚建的 Python3,再按 Ctrl+B

为什么 Ctrl+B 输出中文乱码

常见于 Windows + 中文路径/中文字符串,本质是 Sublime 构建面板默认用系统 ANSI 编码(如 GBK)解码 UTF-8 输出。不是 Python 编码错了,是 Sublime 没认对。

  • 最稳方案:在构建系统 jsON 里加 "encoding": "utf-8"(上面示例已包含)
  • 如果还乱码,检查 Python 文件开头是否有 # -*- coding: utf-8 -*-(Python 3 其实不需要,但某些旧插件会依赖)
  • 别用 input() 测试——构建面板不支持交互式输入;要用的话必须切到终端运行(见上一个副标题里的 Run in Terminal 变体)

比构建系统更省心的替代方案:Terminal 或 Terminus 插件

构建系统适合简单脚本,但调试、进交互、跑 flask/Django 就很别扭。这时候直接在 Sublime 里开终端更自然。

立即学习Python免费学习笔记(深入)”;

  • 装插件 Package Control → Install Package → Terminus,然后 Ctrl+Shift+P → Terminus: Open default Shell in Panel
  • 在面板里手动输 python3 script.py,支持 input()、Ctrl+C 中断、自动补全路径
  • 如果只是偶尔用,用系统终端也行:右键文件 → Open Containing Folder,再手动打开终端 cd 进去——比折腾构建系统快得多

Sublime 配 Python 的核心就两件事:让 Ctrl+B 找到对的 python 解释器,并让它用对的编码吐出文字。其余都是围绕这两点打补丁。很多人卡在“为什么我写了 print(‘你好’) 却显示乱码”,其实问题不在 Python,而在 Sublime 怎么解码那一行字节流。

text=ZqhQzanResources