ajdgg / nonebot-plugin-xjie-weather

一个nonebot的天气插件
MIT License
3 stars 0 forks source link

NotImplementedError #1

Open nansou520 opened 1 week ago

nansou520 commented 1 week ago

07-06 16:22:53 [INFO] nonebot | Matcher(type='message', module=nonebot_plugin_xjie_weather, lineno=245) running complete 07-06 16:22:53 [ERROR] nonebot | Running Matcher(type='message', module=nonebot_plugin_xjie_weather, lineno=245) failed. Traceback (most recent call last): File "", line 1, in File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\multiprocessing\process.py", line 314, in _bootstrap self.run() File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\multiprocessing\process.py", line 108, in run self._target(*self._args, *self._kwargs) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn_subprocess.py", line 78, in subprocess_started target(sockets=sockets) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\server.py", line 65, in run return asyncio.run(self.serve(sockets=sockets)) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete self.run_forever() File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever self._run_once() File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1909, in _run_once handle._run() File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run self._context.run(self._callback, self._args) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 476, in check_and_run_matcher await _run_matcher(

File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 428, in _run_matcher await matcher.run(bot, event, state, stack, dependency_cache) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 850, in run await self.simple_run(bot, event, state, stack, dependency_cache) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 825, in simple_run await handler( File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\dependencies__init.py", line 94, in call__ return await cast(Callable[..., Awaitable[R]], self.call)(**values) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot_plugin_xjie_weather__init.py", line 264, in got_location bot_result = await get_weather.xj_get_weather_main(xj_user_message, _get_default_platform["mr"]) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot_plugin_xjie_weather\get_weather.py", line 95, in qweather_get_weather img_data = await weather_img.get_weather_img(forecast_data, weather_data_base, 'QWEATHER', city) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot_plugin_xjie_weather\main.py", line 65, in get_weather_img await open_local_html() File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot_plugin_xjie_weather\main.py", line 31, in open_local_html async with async_playwright() as p: File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\playwright\async_api_context_manager.py", line 46, in aenter__ playwright = AsyncPlaywright(next(iter(done)).result()) File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\site-packages\playwright_impl_transport.py", line 120, in connect self._proc = await asyncio.create_subprocess_exec( File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\asyncio\subprocess.py", line 218, in create_subprocess_exec transport, protocol = await loop.subprocess_exec( File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1681, in subprocess_exec transport = await self._make_subprocess_transport( File "C:\Users\nanso\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 498, in _make_subprocess_transport raise NotImplementedError NotImplementedError

nansou520 commented 1 week ago

请问这种要怎么解决

ajdgg commented 1 week ago

可以参考https://github.com/orgs/nonebot/discussions/13#discussioncomment-1159147 在bot.py添加

import asyncio
import platform
from uvicorn.loops import asyncio as _asyncio
from uvicorn import config

def asyncio_setup(use_subprocess=False):
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)

@property
def should_reload(self):
    return False

if platform.system() == "Windows":
    _asyncio.asyncio_setup = asyncio_setup
    config.Config.should_reload = should_reload

这是官方的解决办法,但这个报错本人目前还没碰到过😓