TypeError: __init__() toma 1 argumento posicional pero 6 argumentos posicionales (y 1 argumento de solo palabra clave

Errores causados ​​por la actualización de pymysql en python

El código local se ejecuta normalmente. Después de implementarse en el servidor, se informa un error. Después de la inspección, la única diferencia es que la versión de pymysql es diferente. La versión local es 0.9.2 y la versión de pymysql en el servidor es 1.0.2.

código fuente:

db = pymysql.connect("127.0.0.1", "root", "XXXX", "datebase", 3306, autocommit=True)

Mensaje de error:

TypeError: __init__() takes 1 positional argument but 6 positional arguments (and 1 keyword-only argument) were given

Resolver el problema:

1. Reducir la versión de pymysql en el servidor por debajo de V1.0
2. Modificar el código

Después de intentarlo, descubrí que la nueva versión necesita escribir los parámetros completos al conectarse:

db = pymysql.connect(host="127.0.0.1", user="root", password="XXXX", database="datebase", port=3306, autocommit=True)

De esta manera no obtendrá un error.

Guess you like

Origin blog.csdn.net/quanqxj/article/details/118700258