Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python3中使用DBUtils?_Python_Python 3.x_Mysql Python - Fatal编程技术网

如何在Python3中使用DBUtils?

如何在Python3中使用DBUtils?,python,python-3.x,mysql-python,Python,Python 3.x,Mysql 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',

我有以下代码:

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?如果没有,应该如何更改代码来初始化池?

您需要在代码中导入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,您需要在代码中导入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适配器。它包括与Python 3兼容的(
MySQLdb
)分支和纯Python。将mysqlclient作为MySQL-python的替代品是安全的。不管怎样,它正在接管,看

因此,在
pip安装mysqlclient
之后,您的代码应该可以正常工作。有了PyMySQL,它也应该可以工作。

社区现在维护着大多数相关的MySQL适配器。它包括与Python 3兼容的(
MySQLdb
)分支和纯Python。将mysqlclient作为MySQL-python的替代品是安全的。不管怎样,它正在接管,看

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