使用PyMySQL连接MariaDB时触发TypeError错误的求助
问题排查及解决办法
1. 改用关键字参数传递连接参数
这个错误大概率是新版本pymysql对参数传递要求更严格导致的,直接传位置参数会触发构造函数的参数匹配错误。把连接代码改成关键字参数形式即可:
db = mdb.connect( host=db_host, user=db_user, password=db_pass, database=db_name )
2. 检查pymysql版本或重新安装
如果是版本更新引发的兼容性问题,可以尝试回退到之前能正常使用的版本,或者重新安装修复损坏的库文件:
# 回退到指定稳定版本(例如0.10.1) pip install pymysql==0.10.1 # 或者强制重新安装最新版 pip install --upgrade pymysql --force-reinstall
3. 排查本地文件对官方库的覆盖
检查当前工作目录下是否存在名为pymysql.py的文件或pymysql的文件夹,这类本地文件会覆盖官方的pymysql库,导致导入的模块不符合预期。如果存在,重命名或删除该文件/文件夹后重新运行代码。
4. 确认调用的是正确的connect方法
确保你调用的是pymysql库提供的connect函数,而非直接实例化Connection类(Connection的构造函数参数规则和connect不同,直接传位置参数会触发类似错误)。
内容的提问来源于stack exchange,提问作者btongeorge
相关产品推荐
相关产品推荐

