树莓派4运行BYOB启动脚本提示flask_login模块缺失问题求助
BYOB安装问题解决方案
运行环境说明
- 硬件:8GB版树莓派4
- 操作系统:Ubuntu 21.10
- Python版本:3.9.7
核心报错信息
Traceback (most recent call last): File "/home/stupid/byob/web-gui/run.py", line 1, in <module> from buildyourownbotnet import create_app File "/home/stupid/byob/web-gui/buildyourownbotnet/__init__.py", line 8, in <module> from flask_login import LoginManager ModuleNotFoundError: No module named 'flask_login'
额外存在的依赖问题:CMake 3.18.4安装失败、py-cryptonight编译报错、Docker镜像构建失败
已尝试操作
- 升级pip版本
- 重装flask-login模块
- 重刷系统后重新执行官方安装脚本
具体解决步骤
1. 修复flask_login模块找不到问题
该问题为pip安装路径不匹配导致:普通用户下安装的Python包仅对当前用户生效,使用sudo调用Python时会读取全局路径下的包,按以下操作修复:
- 全局安装指定兼容版本的flask-login:
sudo pip3 install flask-login==0.6.2 - 验证安装有效性:
sudo python3 -c "import flask_login; print(flask_login.__version__)",无报错且输出版本号即为安装成功
注意:后续所有Python依赖安装如果需要用sudo运行程序,都要在pip命令前加sudo前缀,避免路径不匹配
2. 修复CMake 3.18.4安装失败问题
Ubuntu 21.10官方源默认CMake版本不符合依赖要求,通过官方PPA安装指定版本:
sudo add-apt-repository ppa:kitware/ppa sudo apt update sudo apt install cmake=3.18.4-0kitware1ubuntu21.10.1
安装完成后执行cmake --version,确认输出版本为3.18.4即可。
3. 修复py-cryptonight编译报错问题
树莓派为ARM架构,需要提前安装编译依赖后从源码编译安装:
- 安装基础编译依赖:
sudo apt install build-essential python3-dev libssl-dev swig - 强制从源码编译安装py-cryptonight:
sudo pip3 install --force-reinstall --no-binary py-cryptonight py-cryptonight
4. 修复Docker镜像构建失败问题
默认Dockerfile适配x86架构,树莓派为ARM64架构,需修改配置后构建:
- 打开项目根目录下的Dockerfile,将基础镜像从
ubuntu:latest替换为arm64v8/ubuntu:20.04 - 执行构建命令时指定架构参数:
docker build --platform linux/arm64 -t byob .
效果验证
所有配置修改完成后,重新执行启动命令即可:
sudo chmod +x startup.sh sudo ./startup.sh
也可直接运行Python启动脚本:sudo python3 run.py
内容的提问来源于stack exchange,提问作者user8434797
相关产品推荐
相关产品推荐

