pymysql连接数据库报错:TypeError: __init__() takes 1 positional argument but 5 were given

Posted Dream丶Killer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pymysql连接数据库报错:TypeError: __init__() takes 1 positional argument but 5 were given相关的知识,希望对你有一定的参考价值。

问题描述

import pymysql

db = pymysql.connect("127.0.0.1", "root", "password", "test")

上述代码在 jupyter notebook 上不能运行,但是在 Pycharm 中可以运行。


报错原因

两个 pymysql 版本不一样,0.9.2 上可以运行,最新版 1.0.2 上面不能,最新版需要指定参数名,不能够省略


解决方法

将省略的参数添加即可。

import pymysql

db = pymysql.connect(host="127.0.0.1", user="root", password="password", db="test")

以上是关于pymysql连接数据库报错:TypeError: __init__() takes 1 positional argument but 5 were given的主要内容,如果未能解决你的问题,请参考以下文章

pymysql连接mysql报错

远程连接数据库报错排查:pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '**.

MySQL数据库报错pymysql.err.InterfaceError: (0, '')

python如何使用pymysql连接数据库封装类

python进阶(十mysql:PyMySQL)

Python3出现“No module named 'MySQLdb'“问题-以及使用PyMySQL连接数据库