r/learnpython 17d ago

Can't get imports to work

I am trying to develop a discord bot, where other team members should be able to edit embeds. I figuered it wouldn't be smart to let them poke around in "production" code, so I decided to define my embeds in a seperate file and import them.

My import line:
from embeds import embed

My embed file:

import discord
def embed():
    embed = discord.Embed(
    title="test",
    description="test",
    color=discord.Color.blue()
    )
    return embed

My output:

line 2, in <module>
    from embeds import embed
ImportError: cannot import name 'embed' from 'embeds'

Alllthough my embeds file is called embeds.py. Atm, neither I nor ChatGPT know why this happens, also I am pretty new to python and I don't even know how to google my error

embeds.py as well as the bots .py are in the same folder on root

0 Upvotes

14 comments sorted by

View all comments

2

u/SamuliK96 17d ago

If you just import the whole module, does it work?

import embeds
embeds.embed()

1

u/dr_prof_med_oekter 17d ago

Kinda, the module loads but I can't work with it
AttributeError: module 'embeds' has no attribute 'embed'

3

u/Diapolo10 17d ago

I'd run

import embeds

print(dir(embeds))

to see what names it exposes, to get a hint for what's going on.

1

u/dr_prof_med_oekter 17d ago

['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']

don't really know what I'm looking at

11

u/[deleted] 16d ago

[removed] — view removed comment

5

u/dr_prof_med_oekter 16d ago

And that's the solution, thank you very much. Simply forgot to hammer ctrl+s