Postępuję zgodnie z tutorialem Flask tutaj:
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
Dochodzę do punktu, w którym próbuję ./run.py i otrzymuję:
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
Wygląda to podobnie do:
ImportError: Brak modułu o nazwie flask
Ale ich rozwiązania nie są pomocne. Dla porównania, ja nie mam folder o nazwie kolby których jeden użytkownik wspomniano może powodować problemy.
import flask
masz żadnych błędów? Czy to możliwe, że masz wersje Pythona na swoim komputerze?import sys; print sys.path
do tego pliku (przed wierszem, w którym wystąpił błąd), a także uruchomić to w interaktywnym zachęcie?Odpowiedzi:
Spróbuj usunąć utworzony przez siebie virtualenv. Następnie utwórz nowy virtualenv za pomocą:
Następnie:
Teraz aktywujmy virtualenv:
Teraz powinieneś zobaczyć
(flask)
po lewej stronie wiersza poleceń.Zainstalujmy kolbę:
Następnie utwórz plik o nazwie
hello.py
(UWAGA: patrzUPDATE Flask 1.0.2
poniżej):i uruchom go z:
UPDATE Flask 1.0.2
Dzięki nowej wersji Flask nie ma potrzeby uruchamiania aplikacji ze skryptu.
hello.py
powinien teraz wyglądać tak:i uruchom go z:
Upewnij się, że znajdujesz się w folderze, w którym
hello.py
znajduje się podczas uruchamiania najnowszego polecenia.Wszystkie kroki przed utworzeniem pliku hello.py dotyczą również tego przypadku
źródło
W przypadku Pythona 3 użyj
źródło
Jedynym sposobem, w jaki mogłem rozwiązać, było dodanie katalogu python moich użytkowników do pliku myapp.wsgi. Jako przykład:
Wydaje mi się, że jeśli zainstalujesz pakiety w środowisku globalnym, nie powinieneś mieć problemu, ale moje pakiety Pythona zostały zainstalowane jako użytkownik.
źródło
export PYTHONPATH=/root/environments/my_env/lib/python3.6/site-packages/
Po aktywacji środowiska wirtualnego i zainstalowaniu Flaska utworzyłem plik app.py. Biegnę to tak:
python -m flask run
. Mam nadzieję, że to pomoże!źródło
Miałem podobny problem z flasggerem.
Powodem tego było to, że zawsze używam
sudo pip install flask
ale z jakiegoś powodu nie zawsze jest to właściwe rozwiązanie. Czasami musisz po prostu zrobić
pip install flask
Innym problemem jest to, że czasami ludzie piszą
pip install Flask
z rozszerzeniem czapką FPublikowanie tego tutaj na wypadek, gdyby ktoś utknął. Daj mi znać, jeśli to pomogło.
Przydatny link: Jaka jest różnica między instalacją pip a instalacją sudo pip?
źródło
to działa dla mnie,
sudo -H pip install flask
Lub dla pip3 (python3) użyj:
sudo -H pip3 install flask
Dygresja
Jeśli używasz virtualenv, dobrym pomysłem
pip freeze >> requirements.txt
jest pozostawienie zainstalowanych pakietów na liście w jednym miejscu.sudo
Poleceń i-H
flag. Aby uzyskać więcej informacji nasudo
temat-H
flagi, spójrz na odpowiedź Paula . Mam nadzieję, że to ci pomoże.źródło
Używałem Python2, ale zainstalowałem to: sudo apt-get install libapache2-mod-wsgi-py3
Zamiast: sudo apt-get install libapache2-mod-wsgi
Poprawienie instalacji rozwiązało problem braku kolby.
źródło
W moim przypadku rozwiązanie było tak proste, jak uruchomienie mojego wirtualnego środowiska w następujący sposób:
$ venv/scripts/activate
Okazuje się, że wciąż jestem świeży w Pythonie :)
źródło
/etc/apache2/sites-available/FlaskApp.conf
WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp
service apache2 restart
Ja też postępuję zgodnie z samouczkiem Flask i napotkałem ten sam problem, znalazłem sposób, aby go naprawić.
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
źródło
Przejdź do pliku kolby mikroblogu, a następnie aktywować z wirtualnego środowiska
source bin/activate
, a następnie przejść do kolby / bin i zainstalować kolby, a reszta pakietówpip install flask
. Zobaczysz kolbę wymienioną w katalogu bin. Spróbuj uruchomić./run.py
ponownie z mikroblogu (lub z dowolnego miejsca, w którym masz plik).źródło
Nawet ja też sugeruję u virtualenv, to może również rozwiązać twój problem.
Jeśli chcesz wdrożyć na serwerze produkcyjnym, skorzystaj z powyższego rozwiązania, w przeciwnym razie użyj virtualenv.
źródło
To właśnie zadziałało, gdy otrzymałem podobny błąd w systemie Windows; 1. Zainstaluj virtualenv
Utwórz virtualenv
virtualenv kolba
Przejdź do Scripts i aktywuj virtualenv
Aktywuj
Zainstaluj Flask
python -m pip install flask
Sprawdź, czy kolba jest zainstalowana
python -m lista pip
źródło
wejdź w tryb interaktywny Pythona, a następnie:
import sys
sys.path
wydrukuje twoją ścieżkę. Sprawdź, czy kolba z mokrą wodą jest zainstalowana w sys.path.
W przypadku MacOS ścieżka Pythona znajduje się w /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Ale pip domyślnie zainstaluje pakiet Pythona w /Library/Python/2.7/site-packages
Dlatego nie działa na MacOS.
źródło
Skrypt flask jest przydatny do uruchamiania lokalnego serwera programistycznego, ale po każdej zmianie kodu musiałbyś go ponownie uruchomić ręcznie. To nie jest zbyt miłe, a Flask radzi sobie lepiej. Jeśli włączysz obsługę debugowania, serwer będzie ładował się ponownie po zmianie kodu, a także zapewni pomocny debuger, jeśli coś pójdzie nie tak. Aby włączyć tryb debugowania, możesz wyeksportować zmienną środowiskową FLASK_DEBUG przed uruchomieniem serwera: na przykład twój plik to hello.py
źródło
w moim przypadku przy użyciu Dockera mój plik .env nie został skopiowany, więc nie ustawiono następujących zmiennych env:
.env.local:
FLASK_APP=src/app.py
więc w moim
Dockerfile
musiałem uwzględnić:do którego odwołano się w docker-compose.yml
env_file: ./env/.env.local
Kolejną rzeczą, na którą musiałem zwrócić uwagę, jest zmienna ścieżki, aby upewnić się, że moje środowisko jest używane
źródło
moja odpowiedź tylko dla wszystkich użytkowników korzystających z projektu Visual Studio Flesk w sieci Web:
Kliknij prawym przyciskiem myszy „Środowisko Pythona” i kliknij „Dodaj środowisko”
źródło
Jeśli używasz Pycharm, jest to problem ze środowiskiem wirtualnym.
Tak więc w momencie tworzenia projektu w Pythonie będziesz musiał wybrać opcję „Istniejący interpreter” -> kliknij „System Interpreter” -> wybierz odpowiednią opcję, na przykład „* \ AppData \ Local \ Programs \ Python \ Python3.6 \ python.exe ”.
Możesz również użyć „New Virtual Env”, ale właśnie podałem szybką poprawkę, która powinna działać dla użytkowników Pycharm.
źródło
Inna sprawa - jeśli używasz python3, upewnij się, że uruchamiasz serwer z
python3 server.py
, niepython server.py
źródło
U mnie zadziałało po aktualizacji pip:
Znalazłem tę odpowiedź tutaj: https://stackoverflow.com/a/49748494/3197202
Wtedy mogłem po prostu zainstalować kolbę:
źródło