discord.ext.command.errors.ExtensionFailed: 扩展'cogs.cloud'引发错误: ValueError: 尝试在顶级包之外进行相对导入



所以,我使用Discord.py重写制作了一个Discord bot,但在加载一个cogcogs.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 *

我尝试做的事情:CCD_ 3,CCD_ 4,from .. import main

我的文件结构:

├──Epic Bot (directory)
├── main.py (file)
├── cogs (directory)
|    ├── cloud.py (file)
|    └── someUnrelatedFiles
└── someUnrelatedDirs

我认为您没有尝试过import mainfrom main import *

如果你有一个像你展示的那样的文件树,它会起作用的。

最新更新