Aplikacja webowa w Pythonie – Flask na Windowsie
December 26, 2016Flask Standard
Dzisiaj mam dla Was post-dygresję, czyli wytłumaczenie, w jaki sposób uruchomić naszą aplikację we Flasku lokalnie, na Windowsie. Nie potrzebujemy wówczas zewnętrznego linuksowego serwera, wystarczy nasz domowy komputer. Korzystam z Windows 7, więc tutorial będzie dotyczył instalacji pakietów pod ten system, ale myślę, że sposób nie będzie się wybitnie różnić, jeśli chodzi o jego inne wersje.
- Na początek potrzebujemy oczywiście Pythona. Najlepiej będzie zainstalować jedną z nowszych wersji (po 3.0), ale uwaga – nie 3.6! Wersja 3.5 w zupełności nam wystarczy. W czym leży problem? Najnowsze WSGI Pythona, czyli Werkzeug, ma kilka bugów, a jeden z nich dotyczy importowania modułów podczas uruchamiania aplikacji. Gdy zainstalujemy najnowszą wersję Pythona, gdzie błąd nie jest jeszcze poprawiony, nie uda nam się ruszyć z lokalnym serwerem. Potwierdzone info – dziś rano przez ten problem musiałam wszystko przeinstalowywać. Nie popełnijcie tego błędu :)
- Instalacja Pythona:
Koniecznie zaznacz kwadracik przy “Add Python 3.5 to PATH“. Oczywiście można to potem zrobić ręcznie, ale po co utrudniać sobie życie. Polecam też tryb customowej instalacji.
Baaaardzo ważne – opcja pip musi być zaznaczona. Dzięki temu unikniemy wielu problemów i późniejsza instalacja Flaska będzie dosłownie czterema linijkami kodu.
Tutaj również zwróćmy uwagę, aby Python został dodany do zmiennych środowiskowych naszego systemu. Warto również zaznaczyć opcję poniżej – “Precompile standard library“. Jeśli chcesz, wybierz również własną ścieżkę instalacji (w moim przypadku automatyczna była bardzo skomplikowana i doszłam do wniosku, że nie będzie mi się potem chciało szukać tych plików gdzieś w AppData). - Teraz sprawdzimy, czy Python został zainstalowany poprawnie. Otwórz cmd i wpisz python --version (powinna wyświetlić się informacja o aktualnie zainstalowanej wersji), a następnie py, aby otworzyć tryb konsoli Pythona. Jeśli oba polecenia zwróciły spodziewany rezultat, przejdź do kolejnych kroków. Nie działa? Przede wszystkim sprawdź, czy ścieżka do Pythona znajduje się w zmiennej PATH (Komputer PPM/Właściwości/Zaawansowane Ustawienia Systemu/Zmienne środowiskowe/Zmienne systemowe/Path) – jeśli nie, dopisz ją po średniku. Warto wtedy ponownie uruchomić konsolę i upewnić się, czy śmiga. Innym problemem może być to, że mamy zainstalowaną więcej niż jedną wersję Pythona – usuńmy wtedy starsze.
- Kolejnym krokiem będzie zainstalowanie flaska globalnie. Wpisz w konsoli polecenie pip install flask. Jeżeli program nie znajdzie polecenia pip, to znaczy, że nie zaznaczyłeś odpowiedniej opcji podczas instalacji – shame on you! Są dwa wyjścia: albo odinstalujesz Pythona i zainstalujesz ponownie, albo wygooglasz sposób na zainstalowanie pip (a z tego co widziałam jest raczej mało intuicyjny).
- Działa? Świetnie! Teraz nadeszła pora na zainstalowanie wirtualnego środowiska. Uruchom w konsoli
pip install virtualenv. Następnie utwórz katalog (przyjmijmy, że nazwiemy go
apka) i wejdź do niego. W folderze uruchom polecenie
virtualenv flask – powinien wówczas utworzyć się folder o takiej nazwie. Wejdź do folderu
flask, a następnie
scripts i uruchom tam
pip install flask. Wróć do folderu nadrzędnego
apka. Skopiuj do niego swoje pliki, które stworzyłeś wraz z wcześniejszymi odcinkami tutorialu. Struktura powinna prezentować się tak:
12345678/apka/flask/hello_world/static/templates__init__.pyviews.pyrun.py - Jeżeli w pliku
run.py dodawałeś dodatkowe opcje do
app.run() (np. host lub port), tymczasowo je usuń. Na ustawieniach domyślnych na pewno zadziała poprawnie. Plik
run.py powinien wyglądać tak:
123#!flask/bin/pythonfrom hello_world import appapp.run() - Wejdź do folderu flask\scripts i wpisz polecenie activate – zauważysz, że przed ścieżką pojawi się słowo flask.
- Powróć do folderu głównego i wywołaj plik run.py (poleceniem
python run.py). Działa! :)