1-Python - dbutils
about#
常见报错#
ModuleNotFoundError: No module named 'DBUtils'#
Python3.10 + DBUtils3.0.3
导包什么的都没问题,但是就是报错,这个问题其实是DBUtils的版本升级引起的。
经过我自己的测试,从DBUtils2.0版本开始,按照上面的导包方式,就会出现报错。而DBUtils1.x版本,如1.4版本就不会出现这个问题。
所以,解决办法有两个,第一种,将DBUtils降级到1.x,然后按照上面截图的方式就不会出现问题。
pip uninstall DBUtils -y
pip install DBUtils==1.4
第二种就是,DBUtils不降级,而是调整导包方式:
import pymysql
# DBUtils1.x版本可以用下面的导包方式
# from DBUtils.PooledDB import PooledDB
# DBUtils2.0开始可以用下面的导包方式
from dbutils.pooled_db import PooledDB
class DBHelper(object):
def __init__(self):
self.pool = PooledDB(
creator=pymysql, # 使用连接数据库的模块
maxconnections=5, # 连接池允许的最大连接数,0和None表示不限制
mincached=2, # 初始化时,连接池中至少创建的空闲的连接,0表示不创建
maxcached=3, # 连接池中最多闲置的连接,0和None不限制
blocking=True, # 连接池中如果没有可用连接后,是否阻塞等待,True等待,False 不等待然后报错
setsession=[], # 开始会话前执行的命令列表,如...
ping=0,
host='127.0.0.1',
port=3306,
user='root',
password="123",
database='blog1',
charset='utf8'
)
def get_conn_cursor(self):
conn = self.pool.connection()
cursor = conn.cursor(pymysql.cursors.DictCursor)
return conn, cursor
db = DBHelper()
if __name__ == "__main__":
...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步