Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Hartmut Goebel Newsgroups: de.comp.lang.python Subject: Re: [Python-de] Import problem im Eigendem Module Paket Date: Sun, 7 Oct 2018 10:52:13 +0200 Organization: Goebel Consult Lines: 69 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms090301080600030600090500" X-Trace: news.uni-berlin.de b1E8IwlB8569RX3tj/vFBAXCy47b5U+idoxIB+APJYkA== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org X-Virus-Scanned: amavisd-new at mnet-online.de Openpgp: preference=signencrypt User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 In-Reply-To: X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: Xref: csiph.com de.comp.lang.python:5262 This is a cryptographically signed message in MIME format. --------------ms090301080600030600090500 Content-Type: multipart/mixed; boundary="------------23C5BDB419229642773DAB1C" Content-Language: de-DE This is a multi-part message in MIME format. --------------23C5BDB419229642773DAB1C Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hallo, Am 05.10.2018 um 19:04 schrieb Manfred Gil: > Mein Problem ist das ich kein Module aus einem =C3=9Cbergeordnetem=20 > Ordner importieren kann. > > Ich bekomme stets die Fehlermeldung: > > File "import_test.py", line 4, in > from ..config import daten as da > SystemError: Parent module '' not loaded, cannot perform relative impor= t Um das bisher geschriebene noch zu erg=C3=A4nzen, bzw. deutlich zu machen= : Das "import" Statement bezieht sich immer auf Module, *nie* auf Verzeichnisse. Der relative Import bezieht sich also auf =C3=BCbergeordne= te 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=C3=A4ssig. Verwendest Du jedoch "python -m my_paket.daten.import_test", dann f=C3=BC= hrst Du das Module mit diesem Namen aus. Das Module "kennt" das Paket, zu dem es geh=C3=B6rt und damit funktionieren relative Imports. --=20 Sch=C3=B6nen Gru=C3=9F 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-da= tenschutz Kolumne: https://www.goe-con.de/hartmut-goebel/cissp-gefluester/2012-04-compliance= -bringt-keine-sicherheit --------------23C5BDB419229642773DAB1C-- --------------ms090301080600030600090500--