python中pymysql升级导致的报错
本地代码正常运行,部署到服务器之后,开始报错,经过检查发现,唯一不同之处是pymysql的版本不同,本地是0.9.2,服务器上pymysql的版本是1.0.2
源代码:
db = pymysql.connect("127.0.0.1", "root", "XXXX", "datebase", 3306, autocommit=True)
报错信息:
TypeError: __init__() takes 1 positional argument but 6 positional arguments (and 1 keyword-only argument) were given
解决问题:
1.将服务器中pymysql的版本降低到V1.0以下
2.修改代码
经过尝试,发现新版本在连接时需要把参数写完整:
db = pymysql.connect(host="127.0.0.1", user="root", password="XXXX", database="datebase", port=3306, autocommit=True)
这样就不会报错了。