【问题标题】:discord.ext.commands.errors.ExtensionFailed: Extension 'cogs.cloud' raised an error: ValueError: attempted relative import beyond top-level packagediscord.ext.commands.errors.ExtensionFailed:扩展“cogs.cloud”引发错误:ValueError:尝试相对导入超出顶级包
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-05-12
    • 2021-10-03
    • 2020-03-07
    • 2020-12-03
    • 1970-01-01
    • 2018-12-05
    • 2020-11-03
    • 2017-02-22
    相关资源
    最近更新 更多