2017-08-25 1 views
0

ich eine Dateistruktur haben, wie unten gezeigt,Python 3.6 eine Klasse aus einem parallelen Ordner importieren

MainFolder 
     __init__.py 
     FirstFolder 
        __init__.py 
        firstFile.py 
     SecondFolder 
        __init__.py 
        secondFile.py 

Innen firstFile.py, ich habe ein classMath genannt, und ich möchte diese Klasse in secondFile.py importieren .

-Code für firstFile.py

class Math(object): 

    def __init__(self, first_value, second_value): 

     self.first_value = first_value 
     self.second_value = second_value 

    def addition(self): 

     self.total_add_value = self.first_value + self.second_value 
     print(self.total_add_value) 

    def subtraction(self): 

     self.total_sub_value = self.first_value - self.second_value 
     print(self.total_sub_value) 

-Code für secondFile.py

from FirstFolder.firstFile import Math 

Math(10, 2).addition() 
Math(10, 2).subtraction() 

Als ich secondFile.py versuchte, läuft bekomme ich diesen Fehler: ModuleNotFoundError: No module named 'First'

ich Windows benutze und Der MainFolder befindet sich in meinem C-Laufwerk unter C:\Users\Name\Documents\Python\MainFolder

Mögliche Lösungen, die ich ausprobiert habe, sind die Erstellung des leeren __init__.py für alle Haupt- und Unterordner, das Hinzufügen des Verzeichnisses MainFolder zu path unter Systemeigenschaften environment variable und die Verwendung von import sys & sys.path.append('\Users\Name\Documents\Python\MainFolder').

Leider funktionieren alle diese Lösungen, die ich gefunden habe, nicht. Wenn jemand meine Fehler auf mich aufmerksam machen oder andere Lösungen vorschlagen kann, wäre das großartig. Jede Hilfe wird sehr geschätzt!

Antwort

0

Es gibt möglicherweise zwei Probleme. Die erste ist mit Ihrer Import-Anweisung. Die Import-Anweisung sollte

from FirstFolder.firstFile import Math 

Die zweite ist wahrscheinlich, dass Ihre Umgebungsvariable PYTHONPATH enthalten nicht Ihren Hauptordner./Path/to/Hauptordner

Auf Fenster

Satz PYTHONPATH = "%: mit

Export PYTHONPATH = $ PYTHONPATH

auf Linux- und UNIX-basierten Systemen Sie diese vorübergehend auf der Kommandozeile tun path%; C: \ path \ Hauptordner „

auf \ Wenn Sie es dauerhaft einstellen möchten, verwenden Sie setx statt Satz

+0

oh ja. Entschuldigung. Die Import-Anweisung war ein Tippfehler in meiner Frage. Ich werde versuchen, den PYTHONPATH einzustellen. Danke. – Dan

Verwandte Themen