Created
November 27, 2014 17:22
-
-
Save JungeAlexander/6ce0a5213f3af56d7369 to your computer and use it in GitHub Desktop.
Import modules from parent folder in Python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# From http://stackoverflow.com/a/11158224 | |
# Solution A - If the script importing the module is in a package | |
from .. import mymodule | |
# Solution B - If the script importing the module is not in a package | |
import os,sys,inspect | |
current_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) | |
parent_dir = os.path.dirname(current_dir) | |
sys.path.insert(0, parent_dir) | |
import mymodule |
Thanks man :)
I can confirm this formulation fails in Python 3.6: ValueError: attempted relative import beyond top-level package
.
Thanks! But it would also work to just do
sys.path.insert(0, '..')
and to omit the two lines before, right?
Did this work?
I made this.
this returns a value error: ValueError: attempted relative import beyond top-level package
it's honestly stupid that it is this hard to import from parent directories in python.
Thanks mate.
Thanks m8
Thanks
Thanks!
thanks!!!
i've recently had problems with this, here are my solution:
project
|__foo
|__ bar.py
|__test
|__ my_test.py
my_test.py:
import sys
sys.path[0] += '\\..'
from foo.bar import MyClass
Thank you
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Relative import does not seem to work since Python3.something:
ValueError: attempted relative import beyond top-level package
edit: both current and parent directories are packages (i.e. they include a
__init__.py
file). What is going on?