[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