Reputation: 79
So, I was making a Discord bot using Discord.py rewrite but came across this error while loading a 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
The code where I am trying to import the file main.py: from ..main import *
What I tried to do:
from ...main import *
,
from main import *
,
from .. import main
My file structure:
├──Epic Bot (directory)
├── main.py (file)
├── cogs (directory)
| ├── cloud.py (file)
| └── someUnrelatedFiles
└── someUnrelatedDirs
Upvotes: 0
Views: 1148
Reputation: 15728
I don't think you've tried import main
or from main import *
If you have a file tree like the one you showed, it's gonna work.
Upvotes: 1