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

树莓派开机启动bash脚本无法激活虚拟环境访问内部安装包问题

问题根源

你的workon tm命令已经成功激活了虚拟环境,报错的核心原因是最后一行执行Python脚本时加了sudo:
sudo会重置当前shell的所有环境变量,包括虚拟环境激活后修改的PATH变量,最终调用的是系统全局的Python解释器,自然找不到虚拟环境内安装的flask_mysqldb依赖。

你可以在脚本里workon tm后加一行which python,运行脚本后如果输出路径是/home/pi/.virtualenvs/tm/bin/python,就可以确认虚拟环境激活是正常的。

解决方案

方案1(推荐,无特殊权限需求时用)

直接去掉最后一行的sudo即可,普通用户权限完全可以运行监听5000端口的Web服务:

# 把最后一行改成
python /home/pi/MySQLAppTrueTrue/main.py

方案2(确实需要root权限运行时用)

直接调用虚拟环境下Python解释器的绝对路径,不需要依赖环境变量识别虚拟环境:

# 把最后一行改成
sudo /home/pi/.virtualenvs/tm/bin/python /home/pi/MySQLAppTrueTrue/main.py

用这个方案的话,你甚至可以省略脚本里所有source、workon相关的代码,直接调用绝对路径的Python解释器就能正常加载虚拟环境的依赖。

额外说明

不需要把依赖包安装到全局环境,虚拟环境完全可以满足开机自启的需求,全局安装依赖会带来版本冲突、环境污染等问题,不推荐这么做。

内容的提问来源于stack exchange,提问作者Matthew Van Ginneken

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:06:03