/ Fehlerbehebung für das Tutorial / Flask: ModuleNotFoundError: Kein Modul mit dem Namen 'app' - Python, Bash, Flask, Modul

Fehlerbehebung für das Flask-Tutorial: ModuleNotFoundError: Kein Modul mit dem Namen 'app' - Python, Bash, Flask, Modul

Ich habe Probleme beim Ausführen meiner run.py-Datei. Meine Dateistruktur sieht so aus:Bildbeschreibung hier eingeben

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 № 1

Ihre 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