Linux服务器部署Flask应用连接MariaDB出现语法错误问题咨询
问题根因
报错是Python版本与mysql-connector依赖版本不兼容导致的:
- 你服务器上运行的是Python 3.5,而f-string字符串插值语法是Python 3.6版本才正式支持的特性
- 你当前安装的mysql-connector版本过高,新版本代码中使用了f-string语法,在Python 3.5环境下加载时直接抛出语法错误
- 本地PyCharm运行正常是因为本地Python版本≥3.6,适配高版本mysql-connector,和数据库SSL配置、连接参数无关。
解决方案
方案1:安装适配Python3.5的mysql-connector版本
先卸载当前高版本依赖:
pip3 uninstall mysql-connector-python -y
再安装适配Python3.5的最后兼容版本:
pip3 install mysql-connector-python==8.0.28
安装完成后直接重启应用即可,原有连接代码不需要做任何修改。
方案2:替换为兼容性更好的PyMySQL依赖
如果方案1仍然有适配问题,可以换用对低版本Python支持更广泛的PyMySQL:
- 安装依赖:
pip3 install pymysql
- 修改代码导入行,其余连接、操作代码完全不需要改动:
# 把原来的 import mysql.connector as database 替换为 import pymysql as database
额外建议
Python 3.5已经停止官方维护多年,后续安装各类依赖都会频繁遇到版本兼容问题,有条件的话建议将服务器Python版本升级到3.8及以上,可以避免绝大多数同类适配故障。
内容的提问来源于stack exchange,提问作者Tahir Hussain
相关产品推荐
相关产品推荐

