Ubuntu 20.04下Python Tkinter程序终端/桌面启动报错的解决方法
核心报错原因
脚本当前的shebang行配置完全错误。系统执行可执行文件时,会优先读取这行的内容匹配解释器路径:
- 原行
#!usr/bin/env TrackMyInvestments.py存在两处硬错误:一是路径开头缺少根目录斜杠,正确的路径前缀必须是#!/usr/bin/env;二是env后需要指定解释器名python3,而非你的脚本文件名。 - 系统无法匹配到正确解释器,就会默认把Python代码当成shell脚本逐行执行,直接导致
import: command not found、括号语法报错这类问题。
修复终端直接启动
- 打开
TrackMyInvestments.py,把第一行shebang替换为正确内容:#!/usr/bin/env python3,保存文件。 - 终端进入脚本所在目录,执行
chmod +x TrackMyInvestments.py(用户目录下的文件不需要加sudo权限)。 - 再执行
./TrackMyInvestments.py即可正常启动程序。
配置桌面快捷启动
之前创建的桌面图标无响应,基本是启动命令配置错误导致,按以下步骤操作:
- 在桌面新建
TrackMyInvestments.desktop文件,写入以下内容:
[Desktop Entry] Name=Track My Investments Exec=/usr/bin/env python3 /home/bushbug/TKinterFiles/TrackMyInvestments.py Icon=utilities-terminal Type=Application Terminal=false
- 终端执行
chmod +x ~/Desktop/TrackMyInvestments.desktop给快捷文件加可执行权限。 - 右键点击桌面生成的图标,选择「允许启动」,之后双击图标即可直接打开程序。
全局别名配置
如果需要在任意终端目录下快速启动,可配置别名:
- 打开
~/.bashrc文件,在末尾添加一行:alias trackinvest='python3 /home/bushbug/TKinterFiles/TrackMyInvestments.py',保存。 - 终端执行
source ~/.bashrc生效,之后直接输入trackinvest即可启动程序,不需要手动切换到脚本目录。
内容的提问来源于stack exchange,提问作者Frank Aldridge
相关产品推荐
相关产品推荐

