Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5259
| From | Stefan Schwarzer <sschwarzer@sschwarzer.net> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Import problem im Eigendem Module Paket |
| Date | 2018-10-05 20:49 +0200 |
| Message-ID | <mailman.126.1538765374.20824.python-de@python.org> (permalink) |
| References | <pp85j1$7e1$1@tota-refugium.de> <e66b5bd1-175f-0cb9-d120-c6b46390ca0d@sschwarzer.net> |
On 05/10/2018 19.04, Manfred Gil wrote: > ich Arbeite gerade mit einem selbsterstellten Module. > > 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 Ich verstehe das so, dass du erst `my_paket` (der Parent von `config`) `import`ieren musst. > Ich hab gelesen das man die __init__.py eigendlich leer lassen sollte, > jedoch schreiben andere das mit einem > __all__ = ['auflistung der Ordner'] > es gehen sollte, was bei mir noch nicht der fall ist. Die Definition von `__all__` bestimmt nur, was bei einem `from module import *` in den Namensraum des importierenden Moduls importiert werden soll. > Andere schreiben wiederrum, das in dieser __init__.py > man div. Importe machen sollte damit der import in der Modulen klappt. Kommt drauf an, was man unter "klappen" versteht. ;-) Nimm an, du hast folgende Paket-Struktur: a b c sowie dein Modul `my_module`. Wenn in `a/__init__.py` keine Imports stehen, musst du in `my_module` import a.b schreiben, wenn du auf Attribute in `a.b` zugreifen willst. Wenn in `a/__init__.py` der Import import a.b steht, reicht in Modul `my_module` schon der Import import a um auf `a.b` und seine Attribute zugreifen zu können, weil `a.b` bereits mit dem Import von `a` importiert wurde. Das passiert nicht implizit ohne `import`-Anweisungen. Ich würde allerdings eher explizite Imports in `my_module` verlangen, das erscheint mir sauberer. Also nicht in `a/__init__.py` Imports irgendwelcher "Unter-Module" vornehmen, sondern den Nutzer deiner Bibliothek alle nötigen Module explizit importieren lassen. Ich hoffe, ich konnte etwas helfen. Viele Grüße Stefan
Back to de.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Import problem im Eigendem Module Paket Manfred Gil <manfred-gil@t-online.de> - 2018-10-05 17:04 +0000
Re: [Python-de] Import problem im Eigendem Module Paket Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2018-10-05 20:49 +0200
Re: Import problem im Eigendem Module Paket Peter Otten <__peter__@web.de> - 2018-10-05 22:10 +0200
Re: Import problem im Eigendem Module Paket Hermann Riemann <nospam.ng@hermann-riemann.de> - 2018-10-06 10:19 +0200
Re: [Python-de] Import problem im Eigendem Module Paket Hartmut Goebel <h.goebel@goebel-consult.de> - 2018-10-07 10:52 +0200
Re: [Python-de] Import problem im Eigendem Module Paket Manfred Gil <manfred-gil@t-online.de> - 2018-10-07 09:20 +0000
csiph-web