Ich habe Probleme beim Ausführen meiner run.py-Datei. Meine Dateistruktur sieht so aus:
Mit einer anderen Python-Datei namens "run.py", die sich zusammen mit python3 in flask / bin befindet. Meine run.py-Datei ist einfach:
#!flask/bin/python3
from app import app
app.run(debug=True)
Das Ausführen von "python3 run.py" löst jedoch den Fehler aus:
$ python3 run.py
Traceback (most recent call last):
File "run.py", line 2, in <module>
from app import app
ModuleNotFoundError: No module named "app"
app.py sieht so aus:
from flask import Flask
app = Flask(__name__)
from app import views
Ich bin verwirrt darüber, wie ich das lösen kannIch habe mit den Verzeichnissen herumgespielt, z. B. app.py in den Ordner flask / bin und außerhalb aller Ordner in meinem Verzeichnis oben abgelegt, aber diese Methoden haben bei mir nicht funktioniert.
Antworten:
1 für die Antwort № 1Ihre run.py kann keine App importieren, da sie im Bin-Ordner nicht angezeigt wird. Bei Python geschieht dies, dass alle Python-Dateien als Module und die Ordner mit einem drinDie .py-Datei wird als Paket behandelt. run.py sucht nun nach dem App-Paket, um das App-Modul zu importieren, sucht jedoch im bin-Verzeichnis. Durchlesen Python-Dokumentation um die Module und Pakete vollständig zu verstehen. Im Moment möchten Sie vielleicht Ihr Anwendungsverzeichnis so reorganisieren, dass es wie folgt aussieht:
dir app
file app.py
dir flask
file run.py
Indem sichergestellt wird, dass run.py und das App-Verzeichnis auf derselben Ebene im Verzeichnis liegen, kann run.py jetzt von der App importieren.
Ich hoffe das hilft