所以,我使用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 main
或from main import *
如果你有一个像你展示的那样的文件树,它会起作用的。