2016-04-11 28 views
1

Aşağıdaki kod var:Python 3'te DBUtils nasıl kullanılır?

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') 

ama MySQLdb modülünü bulamıyorum. Python 3'ün MySQLdb'yi kurması mümkün mü? Değilse, havuzu başlatmak için kodu nasıl değiştirmeliyim? aslında içe sürece

Kodunuzdaki import MySQLdb gerekir

cevap

0

, piton MySQLdb bilmez, PooledDB doğrudan yaratıcısı kullanır:

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

ama bile kazandığını değişikliği ile' t MySQLdb'nin bir python3 sürümü olmadığı için çalışabilirsiniz, ancak python mysql.connector

0

PyMySQL topluluğu, günümüzde ilgili MySQL bağdaştırıcılarının çoğunu korur. Bu, MySQL-python (MySQLdb) Python 3 uyumlu çatalı ve saf Python PyMySQL olan mysqlclient içerir. Mysqlclient'i MySQL-python için bir drop-in yedeği olarak ele almak güvenlidir. Yine de ele geçiriyor, bkz. this long thread. Böylece, numaranızdan sonra kodunuz çalışmalıdır. PyMySQL ile de çalışması gerekir.