再谈Python使用PooledDB 难题,运行程序报DBUtils报错
2026/5/5 17:09:59 网站建设 项目流程

再谈Python使用PooledDB 难题,运行程序报DBUtils报错

运行报错

E:\demo>python -c “import DBUtils”
Traceback (most recent call last):
File “”, line 1, in
import DBUtils
ModuleNotFoundError: No module named ‘DBUtils’

查看版本

Found existing installation: DBUtils 3.1.2

报错原因是版本太高了

卸载

pip3 uninstall DBUtils
然后查看是否存在,不存在指定安装版本
pip install DBUtils==1.3

再次执行看看是否安装

python -c “import DBUtils”
没有报错,就是成功

找些代码运行试试

importpymysql from pymysqlimportError from DBUtils.PooledDBimportPooledDB# 需安装:pip install DBUtils# 配置连接池POOL=PooledDB(creator=pymysql,maxconnections=5,# 连接池最大连接数mincached=1,# 初始化时连接池至少创建的空闲连接数maxcached=2,# 连接池最大空闲连接数host="localhost",port=3306,user="root",password="root123456",database="test_mysql",charset="utf8mb4",cursorclass=pymysql.cursors.DictCursor)class MySQLHelper: @staticmethod def query(sql,args=None):"""查询数据""" conn=None cursor=None try: conn=POOL.connection()cursor=conn.cursor()cursor.execute(sql, args or())returncursor.fetchall()except Error as e: print(f"查询失败:{e}")return[]finally:ifcursor: cursor.close()ifconn: conn.close()@staticmethod def execute(sql,args=None):"""执行增/删/改""" conn=None cursor=None try: conn=POOL.connection()cursor=conn.cursor()cursor.execute(sql, args or())conn.commit()returncursor.rowcount except Error as e:ifconn: conn.rollback()print(f"执行失败:{e}")return0finally:ifcursor: cursor.close()ifconn: conn.close()# 调用示例if__name__=="__main__":# 查询res=MySQLHelper.query("SELECT * FROM users WHERE age < %s",(25,))print(res)# 插入count=MySQLHelper.execute("INSERT INTO users (name, age) VALUES (%s, %s)",("老二",23))print(f"插入 {count} 条")

运行python xx.py
能成功就ok

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询