如何在python3中使用DBUtils?

2024-10-01 09:17:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

from DBUtils.PooledDB import PooledDB
import pgdb
pool = PooledDB(creator=MySQLdb,
            mincached=1,
            maxcached=20,
            host='127.0.0.1',
            port=3306,
            user='root',
            passwd='XXX',
            db='test')

但是它找不到MySQLdb模块。Python3可以安装MySQLdb吗?如果没有,应该如何更改代码来初始化池?在


Tags: 代码fromimporthostportrootpoolcreator
2条回答

您需要import MySQLdb在代码中,python不会知道MySQLdb,除非您实际导入它,PooledDB直接使用创建者:

creator: either an arbitrary function returning new DB-API 2
        connection objects or a DB-API 2 compliant database module

但是即使有了这个改变,它也不能工作,因为MySQLdb没有python3版本,但是可以使用python mysql.connector

PyMySQL社区目前维护着大部分相关的MySQL适配器。它包括,mysqlclient,这是python3兼容的MySQL-pythonMySQLdb)和纯Python PyMySQL。可以安全地将mysqlclient视为MySQL python的直接替代品。不管怎样,它正在接管你,看this long thread。在

因此,您的代码应该在pip install mysqlclient之后正常工作。使用PyMySQL也可以。在

相关问题 更多 >