2016-04-11 175 views
1

我有以下代碼:如何在Python 3中使用DBUtils?

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模塊。 Python 3可以安裝MySQLdb嗎?如果不是,應該如何更改代碼來初始化池?

回答

0

您將需要import MySQLdb在你的代碼,蟒蛇不知道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

0

PyMySQL社區現在維護着大部分相關的MySQL適配器。它包括mysqlclient,它是MySQL-pythonMySQLdb)和純Python PyMySQL的Python 3兼容分支。將mysqlclient作爲MySQL-python的替代替代品是安全的。無論如何,它接管,見this long thread

因此,您的代碼應該在您的pip install mysqlclient之後按原樣工作。與PyMySQL它也應該工作。