2016-04-11 4 views
1

は、私は次のコードを持っている:DBUtilsをPython 3で使用するには?

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

あなたはPooledDBが直接作成者を使用しています、あなたが実際にそれをインポートしない限り、PythonはのMySQLdbを知ることができません、あなたのコードでimport MySQLdbする必要があります:

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アダプタのほとんどを管理しています。これには、MySQL-pythonMySQLdb)のPython 3互換フォークと純粋なPython PyMySQLmysqlclientが含まれています。 mysqlclientをMySQL-pythonのドロップイン置換として扱うことは安全です。とにかく引き継ぎます。this long threadを参照してください。

したがって、コードはそのままpip install mysqlclientの後で動作するはずです。 PyMySQLではこれもうまくいくはずです。

関連する問題