Ich versuche, eine Flask-Anwendung zu erstellen. Ich möchte in meiner Anwendung ein separates Modul einfügen, um die Logik in verschiedene Einheiten zu unterteilen. Das separate Modul ‚Prüfung‘ und meine aktuelle Verzeichnisstruktur sieht wie folgt genannt:Python importieren Module in demselben Verzeichnis für Flask
src/
validation-api/
__init__.py
api.py
validator/
__init__.py
validator.py
validation-form/
...
updater/
...
Meine Flask Anwendung in api.py
ist und ich versuche, from validator import ValidationOptions, ValidationResult, ValidationRun
wo ValidationOptions
, ValidationResult
und ValidationRun
sind Klassen in validator
zu tun.
Ich erhalte den Fehler
ImportError: No module named validator
Wenn ich versuche, from .validator...
oder from ..validator
erhalte ich die Fehler
ValueError: Attempted relative import in non-package
Ich verstehe nicht ganz, wie Module und Pakete in Python arbeiten. Irgendwelche Vorschläge?
Inhalt von api.py:
from flask import Flask, request
from validator.validator import ValidationOptions, ValidationResult, ValidationRun
app = Flask(__name__)
@app.route("/validate", methods=["POST"])
def validate(self):
pass
if __name__ == '__main__':
app.run(debug=True)
I Flask fange die folgenden drei Befehle:
set FLASK_APP=api
set FLASK_DEBUG=1
python -m flask run
Bitte zeigen Sie, wie Sie Ihre Flask App und den Inhalt von api.py starten. –
@DanielRoseman Ich habe die Frage aktualisiert. Ich begegne den Fehlern, wenn ich zu localhost gehe: 5000. –
Und in welchem Verzeichnis sind Sie, wenn Sie diese Befehle ausführen? –