Seite 1 von 1

Import von Flask

Verfasst: Sonntag 7. Februar 2021, 10:25
von scorp
Hei

Ich erstelle eine Web-Applikation mit Flask und HTML. Da ich es zu ersten mal mache, habe ich mal ein Standartbefehl zum testen gegeben.
Dieser Funktioniert leider nicht und ich weiss nicht wieso. habe auch nichts gefunden im Internet.

Ich arbeite mit Visual Studio Code
Python 3.9

Die Installation von virtualenv hat funktioniert und der Download von Flask auch. "pip install Flask" + "pip install Flask-sqlalchemy"
Wenn ich es wiederhole kommt auch die antwort, dass es bereits installiert ist.

Das sind die Zeilen:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
return "Hello, World!"

if __name__ == "__main__":
app.run(debug=True)

Antwort:
>>> app.run(debug=True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'app' is not defined

und:
>>> from flask import Flask
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'flask'

Wenn mir jemand helfen könnte, wäre das super :)

Re: Import von Flask

Verfasst: Sonntag 7. Februar 2021, 11:35
von sparrow
@scorp: Zeig einmal bitte den kompletten Code zwischen Code-Tags, den du ausführst. Uns dann zeig die komplette Fehlerneldung, die erscheint, wenn du den Code ausführst. Ebenfalls zwischen Code Tags.

Code Tags werden automatisch eingefügt, wenn du im vollständigen Editor den </> Button drückst.

Re: Import von Flask

Verfasst: Sonntag 7. Februar 2021, 13:07
von __blackjack__
@scorp: Interessant wäre auch *wie* Du das ausführst, denn die ``>>>`` deuten ja auf eine interaktive Python-Shell hin. Dafür hast Du auch das gleiche Python verwendet wie für die Installation von Flask & Co? Im gleichen venv‽

Welches System verwendest Du? Bei den meisten Linuxdistributionen ist ``pip`` ausserhalb von venvs das Programm mit dem man Pakete für das Python 2.x vom System installiert. Das für Python 3.x vom System heisst das Programm ``pip3``.

Ich würde aber ``pip`` immer als Modul über den jeweiligen Python-Interpreter installieren mit dem man am Ende auch das Programm oder die Webanwendung ausführt. Gerade bei mehreren Python-Installation und/oder venvs ist man dann immer auf der sicheren Seite und muss nicht schauen für welches Python das ``pip``-Programm ist, das als erstes im Suchpfad für Programme gefunden wird. Also beispielsweise ``python3.9 -m pip …`` wenn mit ``python3.9`` bei Dir das passende Python gestartet wird.

Re: Import von Flask

Verfasst: Sonntag 7. Februar 2021, 15:56
von scorp
Ich mache genau das was er macht bis minute 8.25.

https://www.youtube.com/watch?v=Z1RJmh_OqeA&t=264s

Code: Alles auswählen

from flask import Flask
app = Flask(__name__)

@app.route("/")
def index():
    return "Hello, Flask!"

if __name__ == "__main__":
    app.run(debug=True)

Fehlermeldung:
Meine Datai heiss app.py

Code: Alles auswählen

>>> python3 app.py
  File "<stdin>", line 1
    python3 app.py
            ^
SyntaxError: invalid syntax

und wenn ich direkt oben shift + enter drücke, wie in Jupyterlab dan kommt die Fehlermeldung:

Code: Alles auswählen

SyntaxError: invalid syntax
>>> app.run(debug=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'app' is not defined

Re: Import von Flask

Verfasst: Sonntag 7. Februar 2021, 15:59
von Sirius3
Jetzt tippst Du ein Shell-Kommando in die interaktive Python-Eingabe.

Re: Import von Flask

Verfasst: Sonntag 7. Februar 2021, 16:05
von scorp

Code: Alles auswählen

PS C:\Users\scop\Desktop\HELLO_FLASK> python3 app.py
Python est introuvable. ExÚcutez sans argument pour procÚder Ó l
so sieht es aus wenn ich es im powershell mache.

die sind ja inbegriffen im visual studio code

ich kann einfach auswählen zwischen poweshell und pyhton. er macht es im bash Terminal

Re: Import von Flask

Verfasst: Sonntag 7. Februar 2021, 16:15
von __blackjack__
@scorp: Offenbar ist Python nicht so installiert das es im %PATH% liegt. Oder nicht unter dem Namen python3. Was startet denn wenn man nur python ohne die 3 eingibt? Falls dass dann das falsche Python ist, oder die gleiche Meldung kommt, dann musst Du schauen, dass Du den Pfad zu dem Python in %PATH% bekommst, oder beim Aufruf den kompletten Pfad zu der EXE eingeben.

In der Python-Dokumentation gibt es Kapitel für die verschiedenen Betriebssysteme wie man das dort jeweils zum laufen bringt.