[Python-de] Import problem im Eigendem Module Paket
Hartmut Goebel
h.goebel at goebel-consult.de
So Okt 7 04:52:13 EDT 2018
Hallo,
Am 05.10.2018 um 19:04 schrieb Manfred Gil:
> Mein Problem ist das ich kein Module aus einem Übergeordnetem
> Ordner importieren kann.
>
> Ich bekomme stets die Fehlermeldung:
>
> File "import_test.py", line 4, in <module>
> from ..config import daten as da
> SystemError: Parent module '' not loaded, cannot perform relative import
Um das bisher geschriebene noch zu ergänzen, bzw. deutlich zu machen:
Das "import" Statement bezieht sich immer auf Module, *nie* auf
Verzeichnisse. Der relative Import bezieht sich also auf übergeordnete
Module. Auch wenn Module in Verzeichnissen zu Paketen gesammelt werden,
geht es nicht um Verzeichnisse.
Wie Peter schon geschrieben hat
Wenn Du die Datei my_paket/daten/import_test.py so aufrufst "python
my_paket/daten/import_test.py", dann ist es ein Skript und eben nicht
Teil einen Pakets. Und damit funktionieren relative Imports nicht, denn
die sind nur in Paketen zulässig.
Verwendest Du jedoch "python -m my_paket.daten.import_test", dann führst
Du das Module mit diesem Namen aus. Das Module "kennt" das Paket, zu dem
es gehört und damit funktionieren relative Imports.
--
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software
Development
Goebel Consult, Landshut
http://www.goebel-consult.de
Blog:
https://www.goe-con.de/blog/dsl-fernkonfiguration-ist-kritisch-fur-den-datenschutz
Kolumne:
https://www.goe-con.de/hartmut-goebel/cissp-gefluester/2012-04-compliance-bringt-keine-sicherheit
Mehr Informationen über die Mailingliste python-de