2016-05-12 11 views
11

Ich weiß, dass dies oft gefragt wurde, aber irgendwie bin ich nicht in der Lage, über diesen Fehler hinwegzukommen. Hier ist mein Verzeichnis struktur-ValueError: Versuchter relativer Import in Nicht-Paket nicht für Testpaket

project/ 
    pkg/ 
    __init__.py 
    subpackage1/ 
     script1.py 
     __init__.py 
    subpackage2/ 
     script2.py 
     __init__.py 

script2.py hat:

class myclass: 
    def myfunction: 

script1.py hat

from ..subpackage2 import script2 

Ich habe auch versucht

from ..subpackage2 import myclass 

Und das gibt mir : ValueError: Versuchter Verwandter Import in Nicht-Paket

Jede Hilfe würde wirklich geschätzt werden.

+0

Mögliche Duplikate von [Wie relativ importieren in Python?] (Http://stackoverflow.com/questions/72852/how-to-do-relative-imports-in-python) – ganchito55

Antwort

16

Diese Antwort erklärt, was los ist: https://stackoverflow.com/a/73149/769971

Du bist wahrscheinlich script1.py aus dem Inneren des subpackage1/Verzeichnis ausgeführt wird. Ändern Sie den Import in from subpackage2 import script2, sichern Sie das Verzeichnis pkg/und führen Sie python -m subpackage1.script1 aus.

+1

dies funktioniert für mich. Ich glaube, mein Fehler hat versucht, Python-Skript mit 'Python./Subpackage1/Script1.py' anstelle von' Python-M Subpackage1.Script1' zu starten, es ist total falsch !!! –

Verwandte Themen