Sublime Text 3在Pop!_OS中Python编译功能失效求助
解决Sublime Text 3无法运行Python文件的问题
问题原因
你遇到的问题核心在于:Sublime Text启动时的shell环境和你日常使用的终端环境不一样。终端作为交互式登录shell,会加载你的~/.bashrc或~/.bash_profile等配置文件,里面的python别名(或者指向python3的软链接)能正常生效;但Sublime是图形程序,它的环境变量直接继承自有桌面会话,不会加载这些用户配置,所以它找不到python命令。从你提供的日志里也能看到,Sublime的path里只有/app/utils/bin、/app/sublime_merge/bin等有限路径,没有系统级的Python路径。
解决办法
方法1:修改Python构建系统(推荐)
直接给Sublime指定正确的Python执行路径,创建自定义的构建系统:
- 打开Sublime Text,点击顶部菜单
Tools -> Build System -> New Build System - 把默认内容替换成以下配置(可以直接用
python3命令,或者用你终端里which python得到的绝对路径):
{ "cmd": ["python3", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "path": "/usr/bin:$PATH" }
- 按
Ctrl+S保存,文件名设为Python3.sublime-build,保存路径默认是Packages/User/,不用修改 - 回到
Tools -> Build System,选择你刚创建的Python3,再按Ctrl+B就能正常运行Python文件了
方法2:让Sublime加载终端的环境变量
如果你想让Sublime复用终端的shell配置(比如你在~/.bashrc里设置了python别名),可以修改Sublime的全局设置:
- 点击顶部菜单
Preferences -> Settings - 在右侧的用户配置区域,添加以下内容:
"shell_cmd": "bash -l -c \"$cmd\""
- 保存配置后,重启Sublime,再按
Ctrl+B运行文件,此时Sublime会以登录shell的方式执行命令,加载你终端里的配置,python命令就能正常识别了
方法3:直接指定Python绝对路径
如果你不确定python3的位置,可以先在终端里运行which python得到绝对路径(比如/usr/bin/python),然后把构建系统的cmd换成这个路径:
{ "cmd": ["/usr/bin/python", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" }
内容的提问来源于stack exchange,提问作者Kevin Apetrei
相关产品推荐
相关产品推荐

