discord.ext.commands.errors.ExtensionFailed: Extension 'cogs.cloud' raised an error: ValueError: attempted relative import beyond top-level package

discord.ext.commands.errors.ExtensionFailed: Extension 'cogs.cloud' raised an error: ValueError: attempted relative import beyond top-level package

所以,我正在使用 Discord.py 重写制作一个 Discord 机器人,但在加载一个 cog cogs.cloud 时遇到了这个错误 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

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

如果你有一个像你展示的那样的文件树,它就可以工作。