树莓派Lite版+Openbox运行customtkinter脚本模块缺失问题求助
解决Openbox启动脚本时找不到customtkinter模块的问题
核心原因
问题出在Openbox启动环境与手动执行脚本的Python环境不一致——你安装customtkinter的Python解释器,和Openbox启动时调用的不是同一个。
具体解决步骤
1. 确认当前Python环境的路径
手动执行脚本时,先运行以下命令找到你实际使用的Python解释器路径:
which python3 # 若你用的是python命令,执行: which python
会得到类似/usr/bin/python3或/home/pi/.local/bin/python3的路径。
2. 在Openbox启动脚本中指定完整Python路径
不要直接写python your_script.py,而是用上一步得到的完整路径调用脚本,示例:
/usr/bin/python3 /home/pi/your_script.py # 若使用虚拟环境,路径类似: /home/pi/venv/bin/python3 /home/pi/your_script.py
3. 匹配customtkinter的安装环境
先确认customtkinter的安装位置:
pip3 show customtkinter | grep Location
- 如果路径包含
/home/pi/.local/lib,说明是用户级安装,Openbox启动时可能未加载用户环境变量,可在启动脚本开头添加:
再执行脚本;或者重新执行source /home/pi/.bashrcpip3 install --user customtkinter确保模块安装在当前用户环境。
4. 同时配置DISPLAY变量避免TclError
在启动脚本里添加DISPLAY变量设置,解决之前的显示错误:
export DISPLAY=:0 /home/pi/.local/bin/python3 /home/pi/your_script.py
额外排查点
- 若使用虚拟环境,必须在启动脚本中先激活环境:
source /home/pi/venv/bin/activate python /home/pi/your_script.py - 检查Openbox启动脚本的运行身份,确保以你的普通用户身份执行,而非root(root环境的Python包与普通用户不共享)
内容的提问来源于stack exchange,提问作者johschEleven
相关产品推荐
相关产品推荐

