Trouble accessing function from imported module in the same directory

Question:

I just started learning Python two weeks ago. I know this question is probably so basic. But please explain to me like I’m 5. I googled "vscode python import not working" etc but all the other cases seem way more complicated than mine.

I’m trying to follow a tutorial where they’re introducing me to IDEs and showing that, if the a .py file is in the same directory as your current file, you can import it by typing "import file_name". Except it’s not working for me:

enter image description here

It doesn’t say there’s an error or anything when I just run "import file_name" but says the function in the imported file doesn’t exist in the current file if I try to run that.

I did not click on "add blah to PATH" thing when I installed. Could that be the problem?

Some google results say to make sure the debugger uses the correct working directory. Does it pertain to my situation and if it does, how do I do that? Some other results said to add the directory to PYTHONPATH but I didn’t understand what that does, also it sounded like that sets up a path for the current file but doesn’t establish that that’s where I want to pull a file from in general when I type "import file_name" in any file I make from now on.

Please help, both in understanding the problem and fixing it. Thanks.

What I’ve done so far:
I thought maybe the file name was a keyword so I changed it from area to my_area but it still didn’t work. I don’t have any other ideas as to how to fix this.

Asked By: SOS

||

Answers:

In simple terms, the triangle function is imported as part of the my_area module, and so you’ll need to get it from there as my_area.triangle:

import my_area

print(my_area.triangle(4, 5))

Alternatively, you can directly import triangle:

from my_area import triangle

print(triangle(4, 5))

Here’s the python module tutorial for more info.

Answered By: Tim
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.