【发布时间】:2021-03-20 18:38:48
【问题描述】:
所以,我使用 Discord.py rewrite 制作了一个 Discord 机器人,但在加载 cog cogs.cloud 时遇到了这个错误。:
Ignoring exception in on_ready
Traceback (most recent call last):
File "/home/mysteriousk/.local/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 607, in _load_from_module_spec
spec.loader.exec_module(lib)
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/mysteriousk/Desktop/Epic Bot/cogs/cloud.py", line 5, in <module>
from .. import main
ValueError: attempted relative import beyond top-level package
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/mysteriousk/.local/lib/python3.8/site-packages/discord/client.py", line 333, in _run_event
await coro(*args, **kwargs)
File "main.py", line 357, in on_ready
bot.load_extension(f"cogs.{filename[:-3]}")
File "/home/mysteriousk/.local/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 664, in load_extension
self._load_from_module_spec(spec, name)
File "/home/mysteriousk/.local/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 610, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.ext.commands.errors.ExtensionFailed: Extension 'cogs.cloud' raised an error: ValueError: attempted relative import beyond top-level package
我尝试导入文件 main.py 的代码:from ..main import *
我尝试做的事情:
from ...main import *,
from main import *,
from .. import main
我的文件结构:
├──Epic Bot (directory)
├── main.py (file)
├── cogs (directory)
| ├── cloud.py (file)
| └── someUnrelatedFiles
└── someUnrelatedDirs
【问题讨论】:
-
谢谢,但@Łukasz Kwieciński 的回答有效。
标签: python python-3.x discord discord.py discord.py-rewrite