he0119 / nonebot-plugin-datastore

适用于 NoneBot2 的数据存储插件
MIT License
53 stars 3 forks source link

Bug: TypeError: Connection.create_function() got an unexpected keyword argument 'deterministic' #217

Open yokoyamamio opened 2 months ago

yokoyamamio commented 2 months ago

描述问题

装了三个新插件后就一直无法启动机器人 插件为 "nonebot_plugin_randpic", "nonebot_plugin_imagetools" "tatarubot2

复现步骤

我也不太知道(

期望的结果

No response

截图或日志

05-13 14:37:41 [ERROR] uvicorn | Traceback (most recent call last):
  File "/root/QBOT/.venv/lib/python3.10/site-packages/starlette/routing.py", line 732, in lifespan
    async with self.lifespan_context(app) as maybe_state:
  File "/usr/lib/python3.10/contextlib.py", line 199, in __aenter__
    return await anext(self.gen)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/nonebot/drivers/fastapi.py", line 153, in _lifespan_manager
    await self._lifespan.startup()
  File "/root/QBOT/.venv/lib/python3.10/site-packages/nonebot/internal/driver/_lifespan.py", line 42, in startup
    await self._run_lifespan_func(self._startup_funcs)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/nonebot/internal/driver/_lifespan.py", line 36, in _run_lifespan_func
    await cast(ASYNC_LIFESPAN_FUNC, func)()
  File "/root/QBOT/.venv/lib/python3.10/site-packages/nonebot_plugin_datastore/db.py", line 105, in init_db
    await upgrade(config, "head")
  File "/root/QBOT/.venv/lib/python3.10/site-packages/nonebot_plugin_datastore/script/command.py", line 245, in upgrade
    await run_migration()
  File "/root/QBOT/.venv/lib/python3.10/site-packages/nonebot_plugin_datastore/script/utils.py", line 121, in run_migration
    async with connectable.connect() as connection:
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/base.py", line 121, in __aenter__
    return await self.start(is_ctxmanager=True)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/engine.py", line 273, in start
    await greenlet_spawn(self.sync_engine.connect)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 203, in greenlet_spawn
    result = context.switch(value)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3276, in connect
    return self._connection_cls(self)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 146, in __init__
    self._dbapi_connection = engine.raw_connection()
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3300, in raw_connection
    return self.pool.connect()
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect
    return _ConnectionFairy._checkout(self)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout
    rec = pool._do_get()
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 308, in _do_get
    return self._create_connection()
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection
    return _ConnectionRecord(self)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__
    self.__connect()
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 914, in __connect
    )._exec_w_sync_on_first_run(self.dbapi_connection, self)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/event/attr.py", line 483, in _exec_w_sync_on_first_run
    self(*args, **kw)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/event/attr.py", line 497, in __call__
    fn(*args, **kw)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 721, in on_connect
    do_on_connect(dbapi_connection)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/pysqlite.py", line 577, in connect
    fn(conn)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/pysqlite.py", line 560, in set_regexp
    dbapi_connection.create_function(
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 250, in create_function
    self._handle_exception(error)
  File "/root/QBOT/.venv/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 298, in _handle_exception
    raise error
  File "/root/QBOT/.venv/lib/python3.10/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'
he0119 commented 2 months ago

https://github.com/he0119/nonebot-plugin-wordcloud/issues/287

你可以参考一下这里,检查一下 SQLite 版本看看。

yokoyamamio commented 2 months ago

好的感谢 :D