Ich folge hier dem Flask-Tutorial:
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
Ich komme zu dem Punkt, an dem ich ./run.py versuche und ich bekomme:
Traceback (most recent call last):
File "./run.py", line 3, in <module>
from app import app
File "/Users/benjaminclayman/Desktop/microblog/app/__init__.py", line 1, in <module>
from flask import Flask
ImportError: No module named flask
Das sieht ähnlich aus wie:
ImportError: Kein Modul mit dem Namen flask
Aber ihre Lösungen sind nicht hilfreich. Als Referenz Ich kann habe einen Ordner mit dem Namen Kolben , die ein Benutzer erwähnten Probleme verursachen kann.
import flask
keine Fehler haben? Ist es möglich, dass Sie Versionen von Python auf Ihrem Computer haben müssen?import sys; print sys.path
in diese Datei (vor der Zeile, in der der Fehler auftritt) einfügen und diese auch in der interaktiven Eingabeaufforderung ausführen?Antworten:
Versuchen Sie, die von Ihnen erstellte virtuelle Umgebung zu löschen. Erstellen Sie dann eine neue virtuelle Umgebung mit:
Dann:
Jetzt aktivieren wir die virtuelle Umgebung:
Jetzt sollten Sie
(flask)
links in der Befehlszeile sehen.Lassen Sie uns den Kolben installieren:
Erstellen Sie dann eine Datei mit dem Namen
hello.py
(HINWEIS: sieheUPDATE Flask 1.0.2
unten):und führen Sie es aus mit:
UPDATE-Kolben 1.0.2
Mit der neuen Kolbenversion müssen Sie die App nicht über Ihr Skript ausführen.
hello.py
sollte jetzt so aussehen:und führen Sie es aus mit:
Stellen Sie sicher, dass Sie sich in dem Ordner
hello.py
befinden, in dem sich der neueste Befehl befindet.Alle Schritte vor der Erstellung von hello.py gelten auch für diesen Fall
quelle
Für Python 3 verwenden
quelle
Die einzige Möglichkeit, die ich lösen konnte, bestand darin, das Python-Verzeichnis meiner Benutzer zur Datei myapp.wsgi hinzuzufügen. Als Beispiel:
Ich denke, wenn Sie die Pakete in der globalen Umgebung installieren, sollten Sie kein Problem haben, aber ich hatte meine Python-Pakete als Benutzer installiert.
quelle
export PYTHONPATH=/root/environments/my_env/lib/python3.6/site-packages/
Nachdem ich die virtuelle Umgebung aktiviert und Flask installiert hatte, erstellte ich eine app.py-Datei. Ich führe es so :
python -m flask run
. Hoffe das wird helfen!quelle
Ich hatte ein ähnliches Problem mit Blinker.
Der Grund dafür war, dass ich immer benutze
sudo pip install flask
Aber aus irgendeinem Grund ist das nicht immer der richtige Weg. Manchmal muss man einfach machen
pip install flask
Ein weiteres Problem ist, dass manchmal Leute
pip install Flask
mit der Kappe F tippenPoste dies hier, falls jemand stecken bleibt. Lassen Sie mich wissen, ob es geholfen hat.
Nützlicher Link: Was ist der Unterschied zwischen der Installation von Pip und der Installation von Sudo Pip?
quelle
das hat bei mir funktioniert,
sudo -H pip install flask
Oder für pip3 (python3) verwenden Sie:
sudo -H pip3 install flask
Randnotiz
Wenn Sie virtualenv verwenden, sollten Sie
pip freeze >> requirements.txt
zulassen, dass die installierten Pakete an einem Ort aufgelistet werden. Dersudo
Befehl und die-H
Flagge. Weitere Informationen zusudo
‚s-H
Flagge, Blick auf Paulus ' Antwort . Hoffe das hilft dir.quelle
Ich habe python2 verwendet, aber Folgendes installiert: sudo apt-get install libapache2-mod-wsgi-py3
Anstelle von: sudo apt-get install libapache2-mod-wsgi
Durch die Korrektur der Installation wurde das Problem ohne Kolben behoben.
quelle
In meinem Fall war die Lösung so einfach wie das Starten meiner virtuellen Umgebung wie folgt:
$ venv/scripts/activate
Es stellt sich heraus, dass ich noch frisch in Python bin :)
quelle
/etc/apache2/sites-available/FlaskApp.conf
WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp
service apache2 restart
Ich folge auch dem Flask-Tutorial. Und ich bin auf dasselbe Problem gestoßen. Ich habe diesen Weg gefunden, um es zu beheben.
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
quelle
Gehen Sie zur Flaschendatei im Microblog, aktivieren Sie die virtuelle Umgebung mit
source bin/activate
, gehen Sie zu Flask / Bin und installieren Sie den Kolben und den Rest der Paketepip install flask
. Sie sehen die Flasche im bin-Verzeichnis. Versuchen Sie./run.py
erneut, über Microblog (oder von jedem Ort, an dem Sie die Datei haben) auszuführen .quelle
Auch ich schlage u virtualenv vor, dies könnte auch Ihr Problem lösen.
Wenn Sie in productionserver bereitstellen möchten, fahren Sie mit der oben genannten Lösung fort, andernfalls verwenden Sie virtualenv.
quelle
Dies hat bei mir funktioniert, als ich unter Windows einen ähnlichen Fehler bekam. 1. Installieren Sie virtualenv
Erstellen Sie eine virtuelle Umgebung
virtuelle Flasche
Navigieren Sie zu Skripten und aktivieren Sie die virtuelle Umgebung
aktivieren Sie
Installieren Sie den Kolben
python -m pip Installierkolben
Überprüfen Sie, ob der Kolben installiert ist
Python-M Pip-Liste
quelle
Rufen Sie dann Ihren Python-Interaktionsmodus auf:
import sys
sys.path
Es wird Ihren Pfad drucken. Überprüfen Sie, ob der Kolben im sys.path installiert ist.
Unter MacOS befindet sich der Python-Pfad unter /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Pip installiert das Python-Paket jedoch standardmäßig unter /Library/Python/2.7/site-packages
Deshalb funktioniert es unter MacOS nicht.
quelle
Das Flask-Skript ist gut geeignet, um einen lokalen Entwicklungsserver zu starten, aber Sie müssten es nach jeder Änderung Ihres Codes manuell neu starten. Das ist nicht sehr schön und Flask kann es besser machen. Wenn Sie die Debug-Unterstützung aktivieren, lädt sich der Server bei Codeänderungen neu und stellt Ihnen einen hilfreichen Debugger zur Verfügung, wenn Probleme auftreten. Um den Debug-Modus zu aktivieren, können Sie die Umgebungsvariable FLASK_DEBUG exportieren, bevor Sie den Server ausführen: Ihre Datei lautet beispielsweise hello.py
quelle
In meinem Fall mit Docker wurde meine ENV-Datei nicht kopiert, sodass die folgenden Umgebungsvariablen nicht festgelegt wurden:
.env.local:
FLASK_APP=src/app.py
also musste ich in mein aufnehmen
Dockerfile
:auf die in docker-compose.yml verwiesen wurde
env_file: ./env/.env.local
Eine andere Sache, auf die ich achten musste, ist die Pfadvariable, um sicherzustellen, dass meine Umgebung verwendet wird
quelle
Meine Antwort nur für alle Benutzer, die Visual Studio Flesk Web Project verwenden:
Klicken Sie einfach mit der rechten Maustaste auf "Python-Umgebung" und klicken Sie auf "Umgebung hinzufügen".
quelle
Wenn Sie Pycharm verwenden, ist dies das Problem der virtuellen Umgebung.
Zum Zeitpunkt der Erstellung Ihres Python-Projekts müssen Sie also die Option "Vorhandener Interpreter" auswählen -> auf "Systeminterpreter" klicken -> die richtige Option auswählen, z. B. "* \ AppData \ Local \ Programs \ Python \ Python3.6 \" python.exe ".
Sie können auch 'New Virtual Env' verwenden, aber ich habe gerade die schnelle Lösung angegeben, die für Pycharm-Benutzer funktionieren sollte.
quelle
Es hat bei mir nach dem Upgrade von pip funktioniert:
Diese Antwort finden Sie hier: https://stackoverflow.com/a/49748494/3197202
Dann könnte ich einfach den Kolben einbauen:
quelle