habe zur Zeit ein Problem bei dem ich auch nach langer Recherche und Ausprobieren nicht weiterkomme.
Mein Projekt hat folgende Projektstruktur:
project/
--package_name/
----__init__.py
----moduleA.py (Hauptmodul)
----moduleB.py
----moduleC.py
--tests/
----moduleA_test.py
----moduleB_test.py
----moduleC_test.py
Hier ist moduleA.py das Hauptmodul das alle anderen Module importiert und direkt ausgeführt werden kann.
moduleB.py und moduleC.py enthalten Docstring-Tests und werden zu diesem Zwecke auch ausgeführt.
Die Test Files decken dann kompliziertere TestCases ab, wie bspw File Import und anschließender Abgleich.
Mein Problem:
Der Import von "package_name" funktioniert entweder in den Test Files, dann geht er in den Modulen nicht und umgedreht.
In moduleA.py hatte ich ursprünglich
Code: Alles auswählen
import moduleB
import moduleC
Ändere ich es in
Code: Alles auswählen
from . import moduleB
from . import moduleC
In meinen Unittests importiere ich das komplette Package mit dem Path Hack (gefunden):
Code: Alles auswählen
import sys
import os
import unittest
# Path hack
sys.path.insert(0, os.path.abspath('..'))
import package_name
Code: Alles auswählen
from . import moduleA.py
from . import moduleB.py
from . import moduleC.py