2016-06-30 9 views
1

Ich versuche, Kolben zu lernen. Ich habe eine virtuelle Umgebung (venv) in meinem Projektverzeichnis erstellt (C: \ users \ ian \ git \ puzzletutorial). FLASK_APP ist auf Flashtutorial gesetzt, FLASK_DEBUG = 1, und ich habe eine Flaschentutorial.py im Verzeichnis.Flask: Neustart mit Reloader kann Datei nicht finden

Als ich „Kolben run“ Ich erhalte die folgende geben:

* Serving Flask app "flasktutorial" 
* Forcing debug mode on 
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 
* Restarting with windowsapi reloader 
c:\users\ian\git\flasktutorial\venv\scripts\python.exe: can't open file 'C:\users\Ian\Git\flasktutorial\venv\Scripts\flask': [Errno 2] No such file or directory 

Überprüfen Sie den Ordner, scheint es eine flask.exe in ihm zu haben. Ich bin mir nicht sicher, was hier vor sich geht.

+0

Ein Out of Scope Hinweis: Schalten Sie Ihr Betriebssystem auf Linux. Es wird die Zeit zurückzahlen, die Sie dafür ausgeben. Jetzt werden Sie die Nebenwirkungen von Windows als Python-Entwicklungsumgebung lösen. –

+0

'FLASK_APP = potttutorial.py' – davidism

Antwort

2

Run Kolben als Modul, dann wird die reloader unter Windows arbeiten:

python -m flask run 

Erläuterung:

Wenn die App in Windows mit Start flask.exe dann die reloader Konstrukte falsch args für die neue subprocess. Quellcode here.

Es versucht, den Python-Interpreter mit flask.exe als Skriptname, aber ohne die Erweiterung ausführen, das ist der Grund für die Datei nicht gefunden Fehler. Wenn Sie einen dupe machen und Scripts/flask.exe nach Scripts/flask kopieren, wird es funktionieren. ;)

Andernfalls, wenn flask als Modul ausgeführt wird, enthält die sys.argv die richtigen Pfade, damit der Reloader den Subprozess ausführen kann.

+0

Schön, vielen Dank! Weißt du, warum das funktioniert? – Zavec

+0

Ich habe den Grund hinzugefügt, der mir bekannt ist. – aholik

Verwandte Themen