Skip to content

Localstore is incompatible with Python3.14 #49

@Tomorrowdawn

Description

@Tomorrowdawn

Python3.14中修改了底层执行逻辑(为了GIL),导致inspect行为不稳定,导致无法获得caller plugin.

(bot) tomorrowdawn@Tomorrowdawn:~/project/qqbot/bot$ nb orm upgrade
Using python: /home/tomorrowdawn/project/qqbot/bot/.venv/bin/python
WARNING: Legacy configuration format detected.
*** Use `nb upgrade-format` to upgrade to the new format.
01-12 22:49:00 [SUCCESS] nonebot | NoneBot is initializing...
01-12 22:49:00 [INFO] nonebot | Current Env: dev
01-12 22:49:01 [SUCCESS] nonebot | Succeeded to load plugin "message_logger" from "plugins.message_logger"
01-12 22:49:01 [SUCCESS] nonebot | Succeeded to load plugin "command_handler" from "plugins.command_handler"
01-12 22:49:01 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_localstore"
Traceback (most recent call last):
  File "<string>", line 27, in <module>
    e.load()()
    ~~~~~~^^
  File "/home/tomorrowdawn/.local/share/uv/python/cpython-3.14.0-linux-x86_64-gnu/lib/python3.14/importlib/metadata/__init__.py", line 179, in load
    module = import_module(match.group('module'))
  File "/home/tomorrowdawn/.local/share/uv/python/cpython-3.14.0-linux-x86_64-gnu/lib/python3.14/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1398, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1314, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1398, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1342, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 938, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 762, in exec_module
  File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed
  File "/home/tomorrowdawn/project/qqbot/bot/.venv/lib/python3.14/site-packages/nonebot_plugin_orm/__init__.py", line 66, in <module>
    _data_dir = get_plugin_data_dir()
  File "/home/tomorrowdawn/project/qqbot/bot/.venv/lib/python3.14/site-packages/nonebot_plugin_localstore/__init__.py", line 74, in wrapper
    path = func(*args, **kwargs)
  File "/home/tomorrowdawn/project/qqbot/bot/.venv/lib/python3.14/site-packages/nonebot_plugin_localstore/__init__.py", line 180, in get_plugin_data_dir
    plugin = _try_get_caller_plugin()
  File "/home/tomorrowdawn/project/qqbot/bot/.venv/lib/python3.14/site-packages/nonebot_plugin_localstore/__init__.py", line 134, in _try_get_caller_plugin
    raise RuntimeError("Cannot detect caller 

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions