pymysql TypeError: __init__() takes 1 positional argument but 5 were given

pymysql 连接数据库时报错误:

TypeError: init() takes 1 positional argument but 5 were given

原因:

在windwos使用时pymysql版本为0.9.3,将代码拉取至linux环境时使用的pymysql是1.0.2版本

解决方法:

pymysql在1.0以后的版本 无法使用 db = pymysql.connect(“localhost”,“root”,“root”,“testdb” )
需要修改为 db = pymysql.connect(host=“localhost”, user=“root”, password=“root”, database=“testdb”)
这样就可以连接上MySQL数据库了

db_test = pymysql.connect(host, user, password, database)
改为:
db_test = pymysql.connect(host=host, user=user, password=password, database=database)

  

原文地址:https://www.cnblogs.com/yizhipanghu/p/15597824.html