当前位置: 代码迷 >> 综合 >> TypeError: __init__() takes 1 positional argument but 6 positional arguments (and 1 keyword-only arg
  详细解决方案

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

热度:28   发布时间:2023-12-11 16:19:44.0

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)

这样就不会报错了。

  相关解决方案