Skip to content

关于第三方插件使用htmlrender的issue #90

@DavidBlackCN

Description

@DavidBlackCN

问题反馈

请确保

  • 已认真阅读文档,该问题不是文档提及的或你自己操作不当造成的
  • 你的问题是在最新版本的代码上测试的
  • 请勿重复提交相同或类似的issue

描述问题

群里太冷清了还是在issue里问吧(((

  • 在使用依赖 nonebot-plugin-htmlrender 的第三方插件时,插件无法正常调用htmlrender。
  • 注意到轻雪插件 liteyukibot-plugin-htmlrender ,但是插件似乎不大兼容现在版本的轻雪核心,导入即报错也无法正常使用

举例

使用 nonebot-plugin-multi-source-daily 插件,可正常安装但是无法使用htmlrender,日志如下:

08-27 20:48:52 [ERROR] nonebot | Failed to import "nonebot_plugin_htmlrender"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.12/multiprocessing/spawn.py", line 122, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "/usr/lib/python3.12/multiprocessing/spawn.py", line 135, in _main
    return self._bootstrap(parent_sentinel)
  File "/usr/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.12/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/croterline/process.py", line 62, in _wrapper
    func(*args, **kwargs)
  File "/opt/BOT/liteyuki/src/liteyuki_plugins/nonebot/__init__.py", line 27, in nb_run
    nonebot.run()
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/__init__.py", line 337, in run
    get_driver().run(*args, **kwargs)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/drivers/fastapi.py", line 187, in run
    uvicorn.run(
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/uvicorn/main.py", line 580, in run
    server.run()
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/uvicorn/server.py", line 67, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
    return runner.run(main)
  File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/utils.py", line 254, in run_coro_with_shield
    return await coro
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/message.py", line 506, in check_and_run_matcher
    await _run_matcher(
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/message.py", line 458, in _run_matcher
    await matcher.run(bot, event, state, stack, dependency_cache)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/internal/matcher/matcher.py", line 926, in run
    await self.simple_run(bot, event, state, stack, dependency_cache)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/internal/matcher/matcher.py", line 863, in simple_run
    await handler(
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/dependencies/__init__.py", line 113, in __call__
    return await cast(Callable[..., Awaitable[R]], self.call)(**values)
  File "/opt/BOT/liteyuki/src/liteyuki_plugins/nonebot/nonebot_plugins/liteyuki_pacman/npm.py", line 314, in _
    r_load = nonebot.load_plugin(plugin_name)  # 加载插件
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/load.py", line 42, in load_plugin
    return manager.load_plugin(module_path)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/manager.py", line 169, in load_plugin
    module = importlib.import_module(self._third_party_plugin_ids[name])
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/manager.py", line 257, in exec_module
    super().exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot_plugin_multi_source_daily/__init__.py", line 24, in <module>
    require("nonebot_plugin_htmlrender")
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/load.py", line 187, in require
    plugin = load_plugin(name)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/load.py", line 42, in load_plugin
    return manager.load_plugin(module_path)
> File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/manager.py", line 184, in load_plugin
    raise RuntimeError(
RuntimeError: Module nonebot_plugin_htmlrender is not loaded as a plugin! Make sure not to import it before loading.

关于liteyukibot-plugin-htmlrender

  • 商店复制安装命令npm install liteyukibot-plugin-htmlrender 无法安装
  • 手动clone仓库后启动报错,还是说我的步骤有问题(((
08-27 20:53:25 [ERROR] nonebot | Failed to import "nonebot_plugin_htmlrender"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.12/multiprocessing/spawn.py", line 122, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "/usr/lib/python3.12/multiprocessing/spawn.py", line 135, in _main
    return self._bootstrap(parent_sentinel)
  File "/usr/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.12/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/croterline/process.py", line 62, in _wrapper
    func(*args, **kwargs)
  File "/opt/BOT/liteyuki/src/liteyuki_plugins/nonebot/__init__.py", line 27, in nb_run
    nonebot.run()
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/__init__.py", line 337, in run
    get_driver().run(*args, **kwargs)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/drivers/fastapi.py", line 187, in run
    uvicorn.run(
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/uvicorn/main.py", line 580, in run
    server.run()
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/uvicorn/server.py", line 67, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
    return runner.run(main)
  File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/uvicorn/lifespan/on.py", line 86, in main
    await app(scope, self.receive, self.send)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 29, in __call__
    return await self.app(scope, receive, send)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/starlette/applications.py", line 112, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 152, in __call__
    await self.app(scope, receive, send)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 48, in __call__
    await self.app(scope, receive, send)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/starlette/routing.py", line 714, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/starlette/routing.py", line 723, in app
    await self.lifespan(scope, receive, send)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/starlette/routing.py", line 692, in lifespan
    async with self.lifespan_context(app) as maybe_state:
  File "/usr/lib/python3.12/contextlib.py", line 210, in __aenter__
    return await anext(self.gen)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/drivers/fastapi.py", line 154, in _lifespan_manager
    await self._lifespan.startup()
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/internal/driver/_lifespan.py", line 66, in startup
    await self._run_lifespan_func(self._startup_funcs)
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/internal/driver/_lifespan.py", line 55, in _run_lifespan_func
    await cast(ASYNC_LIFESPAN_FUNC, func)()
  File "/opt/BOT/liteyuki/src/liteyuki_plugins/nonebot/np_main/loader.py", line 19, in load_plugins
    nonebot.plugin.load_plugins(os.path.abspath(os.path.join(os.path.dirname(__file__), "../nonebot_plugins")))
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/load.py", line 53, in load_plugins
    return manager.load_all_plugins()
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/manager.py", line 205, in load_all_plugins
    return set(
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/manager.py", line 206, in <genexpr>
    filter(None, (self.load_plugin(name) for name in self.available_plugins))
> File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/manager.py", line 171, in load_plugin
    module = importlib.import_module(self._searched_plugin_ids[name])
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "/opt/BOT/liteyuki/venv/lib/python3.12/site-packages/nonebot/plugin/manager.py", line 257, in exec_module
    super().exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/BOT/liteyuki/src/liteyuki_plugins/nonebot/nonebot_plugins/nonebot_plugin_htmlrender/__init__.py", line 7, in <module>
    from .browser import (
  File "/opt/BOT/liteyuki/src/liteyuki_plugins/nonebot/nonebot_plugins/nonebot_plugin_htmlrender/browser.py", line 19, in <module>
    from src.utils.htmlrender.control import (
ModuleNotFoundError: No module named 'src.utils.htmlrender'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions