Django运行报错libmariadb.so.3无法打开共享对象文件如何解决
问题根因
运行Django服务的树莓派设备(192.168.3.60)缺失MariaDB客户端共享依赖库,导致pip安装的mysqlclient无法正常加载底层模块,触发后续NameError: name '_mysql' is not defined的连锁报错。
解决步骤
- 首先在运行Django的树莓派设备上安装系统层面的依赖:
sudo apt update sudo apt install -y libmariadb3 libmariadb-dev - 激活项目虚拟环境,重装残缺的Python依赖:
# 激活虚拟环境 source /home/pi/bilidrdi.com/env/bin/activate # 卸载旧的残缺包 pip uninstall -y mysqlclient mysql-client # 重新编译安装对应版本的mysqlclient pip install mysqlclient==2.0.3 - 验证修复效果:
执行python manage.py check,无数据库相关报错后,再尝试运行python manage.py runserver或migrate命令即可。
可选排查项
若依赖修复后仍提示连接失败,可登录192.168.3.65的MySQL服务端,确认gungelir_tirmalar用户已开放192.168.3.60的访问权限,且持有bildirdi_hurmalar库的操作权限。
内容的提问来源于stack exchange,提问作者ZeQ
相关产品推荐
相关产品推荐

