You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派重启时Crontab执行Bash脚本提示Python模块找不到

解决Crontab重启运行Python脚本找不到模块的问题

核心原因

Cron运行时的环境变量和手动终端执行时完全不同——它不会加载用户的~/.bashrc或~/.profile配置,导致python命令指向的解释器版本,和你安装adafruit_tca9548a模块的那个Python解释器不一致,最终触发模块找不到的错误。

具体解决方法

1. 使用Python解释器的绝对路径

先在终端里找到你安装模块的Python解释器路径:

which python
# 若用Python3则执行
which python3

比如输出是/usr/local/bin/python3,修改你的Launcher2.bash脚本,把python替换成这个绝对路径:

cd /home/raspberrypi/Desktop/Spring2023
/usr/local/bin/python3 test_exception.py

2. 在bash脚本中加载用户环境变量

在Launcher2.bash的开头添加一行,强制加载用户的环境配置,让cron继承终端的Python环境:

source /home/raspberrypi/.profile
cd /home/raspberrypi/Desktop/Spring2023
python test_exception.py

3. 直接在Crontab中指定Python路径(无需bash脚本)

修改crontab的@reboot指令,跳过bash脚本,直接用Python绝对路径执行目标脚本:

@reboot /usr/local/bin/python3 /home/raspberrypi/Desktop/Spring2023/test_exception.py >/home/pi/logs/cronlogs 2>&1

(注意替换成你实际查到的Python解释器路径)

4. 手动添加模块路径到Python脚本

先确认模块的安装位置:

pip show adafruit_tca9548a
# 或 pip3 show adafruit_tca9548a

查看输出里的Location字段(比如/home/raspberrypi/.local/lib/python3.9/site-packages),然后在test_exception.py的开头添加:

import sys
sys.path.append("/home/raspberrypi/.local/lib/python3.9/site-packages") # 替换为你查到的路径
import adafruit_tca9548a

内容的提问来源于stack exchange,提问作者MostevilJoeJoe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:19:56