nonebot-plugin-wordcloud
nonebot-plugin-wordcloud copied to clipboard
Bug: TypeError: Connection.create_function() got an unexpected keyword argument 'deterministic'
wordcloud 版本
0.7.1
chatrecorder 版本
0.6.0
saa 版本
0.6.1
alconna 版本
0.42.5
描述问题
直接使用nb install下载此插件,并在运行后报TypeError: Connection.create_function() got an unexpected keyword argument 'deterministic'的错误。在尝试屏蔽掉所有其他插件,仅启用此插件时,无法正常初始化bot。
由于不清楚是否因DRIVER产生的问题,已经尝试过更换不同DRIVER组合,首页上的以及fastapi+aiohttp,报错trace不一样,但最终都是此TypeError的错误。
已经尝试过uninstall此插件再重装,未能解决。
是否还需要更多其他版本信息确定问题?
复现步骤
- nb plugin install nonebot-plugin-wordcloud
- python bot.py
期望的结果
期望能够正常使用此插件。非常感谢!
截图或日志
以下为DRIVER=~fastapi+~aiohttp的报错
S:\nonebot\baizi\.venv\Scripts\python.exe S:\nonebot\baizi\bot.py
04-25 18:26:43 [SUCCESS] nonebot | NoneBot is initializing...
04-25 18:26:43 [INFO] nonebot | Current Env: prod
04-25 18:26:43 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_apscheduler"
04-25 18:26:43 [SUCCESS] nonebot | Succeeded to load plugin "uniseg" from "nonebot_plugin_alconna.uniseg"
04-25 18:26:43 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_alconna"
04-25 18:26:44 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_localstore"
04-25 18:26:44 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_orm"
04-25 18:26:44 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_session"
04-25 18:26:44 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_session_orm"
04-25 18:26:44 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_chatrecorder"
04-25 18:26:44 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_saa"
04-25 18:26:44 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_cesaa"
04-25 18:26:45 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_wordcloud"
04-25 18:26:45 [SUCCESS] nonebot | Running NoneBot...
04-25 18:26:45 [INFO] uvicorn | Started server process [16056]
04-25 18:26:45 [INFO] uvicorn | Waiting for application startup.
04-25 18:26:45 [INFO] nonebot_plugin_apscheduler | Scheduler Started
04-25 18:26:45 [ERROR] uvicorn | Traceback (most recent call last):
File "S:\nonebot\baizi\.venv\lib\site-packages\starlette\routing.py", line 732, in lifespan
async with self.lifespan_context(app) as maybe_state:
File "S:\nonebot\lib\contextlib.py", line 199, in __aenter__
return await anext(self.gen)
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot\drivers\fastapi.py", line 153, in _lifespan_manager
await self._lifespan.startup()
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot\internal\driver\_lifespan.py", line 41, in startup
await self._run_lifespan_func(self._startup_funcs)
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot\internal\driver\_lifespan.py", line 35, in _run_lifespan_func
await cast(ASYNC_LIFESPAN_FUNC, func)()
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot_plugin_orm\__init__.py", line 84, in init_orm
await greenlet_spawn(migrate.check, alembic_config)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot_plugin_orm\migrate.py", line 540, in check
script.run_env()
File "S:\nonebot\baizi\.venv\lib\site-packages\alembic\script\base.py", line 583, in run_env
util.load_python_file(self.dir, "env.py")
File "S:\nonebot\baizi\.venv\lib\site-packages\alembic\util\pyfiles.py", line 95, in load_python_file
module = load_module_py(module_id, path)
File "S:\nonebot\baizi\.venv\lib\site-packages\alembic\util\pyfiles.py", line 113, in load_module_py
spec.loader.exec_module(module) # type: ignore
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot_plugin_orm\templates\generic\env.py", line 90, in <module>
await_only(coro)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 131, in await_only
return current.driver.switch(awaitable) # type: ignore[no-any-return]
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot_plugin_orm\templates\generic\env.py", line 78, in run_migrations_online
async with engine.connect() as connection:
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\ext\asyncio\base.py", line 121, in __aenter__
return await self.start(is_ctxmanager=True)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\ext\asyncio\engine.py", line 273, in start
await greenlet_spawn(self.sync_engine.connect)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 203, in greenlet_spawn
result = context.switch(value)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 3280, in connect
return self._connection_cls(self)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 146, in __init__
self._dbapi_connection = engine.raw_connection()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 3304, in raw_connection
return self.pool.connect()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 449, in connect
return _ConnectionFairy._checkout(self)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 1263, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 712, in checkout
rec = pool._do_get()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\impl.py", line 308, in _do_get
return self._create_connection()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 390, in _create_connection
return _ConnectionRecord(self)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 674, in __init__
self.__connect()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 914, in __connect
)._exec_w_sync_on_first_run(self.dbapi_connection, self)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\event\attr.py", line 483, in _exec_w_sync_on_first_run
self(*args, **kw)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\event\attr.py", line 497, in __call__
fn(*args, **kw)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\engine\create.py", line 721, in on_connect
do_on_connect(dbapi_connection)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\pysqlite.py", line 577, in connect
fn(conn)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\pysqlite.py", line 560, in set_regexp
dbapi_connection.create_function(
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 250, in create_function
self._handle_exception(error)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in _handle_exception
raise error
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 248, in create_function
self.await_(self._connection.create_function(*args, **kw))
TypeError: Connection.create_function() got an unexpected keyword argument 'deterministic'
04-25 18:26:45 [ERROR] uvicorn | Application startup failed. Exiting.
进程已结束,退出代码为 3
以下为DRIVER使用httpx时的报错
S:\nonebot\baizi\.venv\Scripts\python.exe S:\nonebot\baizi\bot.py
04-25 18:34:56 [SUCCESS] nonebot | NoneBot is initializing...
04-25 18:34:56 [INFO] nonebot | Current Env: prod
04-25 18:34:56 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_apscheduler"
04-25 18:34:56 [SUCCESS] nonebot | Succeeded to load plugin "uniseg" from "nonebot_plugin_alconna.uniseg"
04-25 18:34:56 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_alconna"
04-25 18:34:57 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_localstore"
04-25 18:34:57 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_orm"
04-25 18:34:57 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_session"
04-25 18:34:57 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_session_orm"
04-25 18:34:57 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_chatrecorder"
04-25 18:34:57 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_saa"
04-25 18:34:57 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_cesaa"
04-25 18:34:58 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_wordcloud"
04-25 18:34:58 [SUCCESS] nonebot | Running NoneBot...
04-25 18:34:58 [INFO] nonebot_plugin_apscheduler | Scheduler Started
04-25 18:34:58 [ERROR] nonebot | Error when running startup function. Ignored!
Traceback (most recent call last):
File "S:\nonebot\baizi\bot.py", line 43, in <module>
nonebot.run()
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot\__init__.py", line 334, in run
get_driver().run(*args, **kwargs)
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot\drivers\none.py", line 56, in run
loop.run_until_complete(self._serve())
File "S:\nonebot\lib\asyncio\base_events.py", line 636, in run_until_complete
self.run_forever()
File "S:\nonebot\lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "S:\nonebot\lib\asyncio\base_events.py", line 603, in run_forever
self._run_once()
File "S:\nonebot\lib\asyncio\base_events.py", line 1909, in _run_once
handle._run()
File "S:\nonebot\lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot\drivers\none.py", line 60, in _serve
await self._startup()
> File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot\drivers\none.py", line 68, in _startup
await self._lifespan.startup()
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot\internal\driver\_lifespan.py", line 41, in startup
await self._run_lifespan_func(self._startup_funcs)
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot\internal\driver\_lifespan.py", line 35, in _run_lifespan_func
await cast(ASYNC_LIFESPAN_FUNC, func)()
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot_plugin_orm\__init__.py", line 84, in init_orm
await greenlet_spawn(migrate.check, alembic_config)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot_plugin_orm\migrate.py", line 540, in check
script.run_env()
File "S:\nonebot\baizi\.venv\lib\site-packages\alembic\script\base.py", line 583, in run_env
util.load_python_file(self.dir, "env.py")
File "S:\nonebot\baizi\.venv\lib\site-packages\alembic\util\pyfiles.py", line 95, in load_python_file
module = load_module_py(module_id, path)
File "S:\nonebot\baizi\.venv\lib\site-packages\alembic\util\pyfiles.py", line 113, in load_module_py
spec.loader.exec_module(module) # type: ignore
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot_plugin_orm\templates\generic\env.py", line 90, in <module>
await_only(coro)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 131, in await_only
return current.driver.switch(awaitable) # type: ignore[no-any-return]
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
File "S:\nonebot\baizi\.venv\lib\site-packages\nonebot_plugin_orm\templates\generic\env.py", line 78, in run_migrations_online
async with engine.connect() as connection:
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\ext\asyncio\base.py", line 121, in __aenter__
return await self.start(is_ctxmanager=True)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\ext\asyncio\engine.py", line 273, in start
await greenlet_spawn(self.sync_engine.connect)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 203, in greenlet_spawn
result = context.switch(value)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 3280, in connect
return self._connection_cls(self)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 146, in __init__
self._dbapi_connection = engine.raw_connection()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 3304, in raw_connection
return self.pool.connect()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 449, in connect
return _ConnectionFairy._checkout(self)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 1263, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 712, in checkout
rec = pool._do_get()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\impl.py", line 308, in _do_get
return self._create_connection()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 390, in _create_connection
return _ConnectionRecord(self)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 674, in __init__
self.__connect()
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\pool\base.py", line 914, in __connect
)._exec_w_sync_on_first_run(self.dbapi_connection, self)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\event\attr.py", line 483, in _exec_w_sync_on_first_run
self(*args, **kw)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\event\attr.py", line 497, in __call__
fn(*args, **kw)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\engine\create.py", line 721, in on_connect
do_on_connect(dbapi_connection)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\pysqlite.py", line 577, in connect
fn(conn)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\pysqlite.py", line 560, in set_regexp
dbapi_connection.create_function(
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 250, in create_function
self._handle_exception(error)
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in _handle_exception
raise error
File "S:\nonebot\baizi\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 248, in create_function
self.await_(self._connection.create_function(*args, **kw))
TypeError: Connection.create_function() got an unexpected keyword argument 'deterministic'
04-25 18:34:58 [INFO] nonebot | Application startup completed.
请提供下你的 Python 版本,确认一下是不是 3.8+。
请提供下你的 Python 版本,确认一下是不是 3.8+。
你好!是3.10.14
我初步认定可能是你的 SQLite 版本过低导致的,请你运行以下脚本获取你的 SQLite 版本:
from sqlite3 import dbapi2
print(dbapi2.sqlite_version)
可能相关的上游 issue:sqlalchemy/sqlalchemy#9430
你好!print(dbapi2.sqlite_version)的结果是3.45.3,此外看了下SQLAlchemy的版本为2.0.29,似乎是超过 https://github.com/sqlalchemy/sqlalchemy/issues/9430所提到的要求?
我需要重装SQLAlchemy的某个降级版本吗?