Pytanie do chatGPT: Chcę uruchomić serwer flask korzystając z prostego polecenia w terminalu
ChatGPT: Jeśli chcesz uruchamiać serwer Flask przy pomocy prostego polecenia w macOS, poniżej znajdziesz instrukcje, jak to zrobić.
Utworzenie prostego polecenia do uruchomienia serwera Flask
1. Utwórz alias w zsh
(domyślnym powłoce w macOS):
- Otwórz terminal.
- Edytuj plik konfiguracyjny
.zshrc
:
nano ~/.zshrc
Plik .zshrc
jest plikiem konfiguracyjnym powłoki zsh
, której domyślnie używa macOS. Jeśli używasz innej powłoki, np. bash
, edytuj odpowiedni plik (~/.bash_profile
lub ~/.bashrc
).
- Dodaj alias:
Dodaj poniższą linię na końcu pliku:
alias startflask="cd /ścieżka/do/twojej/aplikacji && export FLASK_APP=app.py && export FLASK_ENV=production && flask run --host=0.0.0.0 --port=5000"
Zamień /ścieżka/do/twojej/aplikacji
na pełną ścieżkę do katalogu, w którym znajduje się Twoja aplikacja Flask. Upewnij się, że plik app.py
jest poprawny, albo zamień go na nazwę pliku, w którym znajduje się Twoja aplikacja Flask.
- Zapisz i zamknij plik:
- Aby zapisać, naciśnij
Ctrl + O
, a następnieEnter
. - Aby zamknąć edytor, naciśnij
Ctrl + X
.
- Załaduj zmiany:
Wprowadzone zmiany zostaną załadowane do bieżącej sesji terminala za pomocą polecenia:
source ~/.zshrc
2. Uruchomienie serwera Flask
Od teraz możesz uruchomić swój serwer Flask za pomocą prostego polecenia w terminalu:
startflask
To polecenie automatycznie przeniesie Cię do katalogu z aplikacją, ustawi niezbędne zmienne środowiskowe i uruchomi serwer Flask.
Automatyczne uruchomienie serwera flask po restarcie systemu:
Aby automatycznie uruchamiać serwer Flask po starcie lub restarcie systemu macOS, a jednocześnie umożliwić ręczne uruchamianie serwera za pomocą prostego polecenia, można połączyć wcześniejsze rozwiązania:
- Alias do uruchamiania serwera Flask.
- Skrypt powłoki uruchamiany przez
launchd
przy starcie systemu.
Krok 1: Ustaw alias do ręcznego uruchamiania serwera Flask
Jeśli jeszcze tego nie zrobiłeś, dodaj alias w pliku .zshrc
, abyś mógł uruchomić serwer Flask za pomocą prostego polecenia.
- Otwórz terminal.
- Edytuj plik
.zshrc
:
nano ~/.zshrc
- Dodaj alias na końcu pliku:
alias startflask="cd \"/Volumes/Seagate praca/PROGRAMOWANIE/CODE_SP/eDOM2024/_CURRENT_WORKS/eDOM24_local_server/\" && export FLASK_APP=app_sending_data_form.py && export FLASK_ENV=production && flask run --host=192.168.1.111 --port=8080"
- Zapisz zmiany (
Ctrl + O
) i zamknij plik (Ctrl + X
). - Załaduj zmiany do bieżącej sesji terminala:
source ~/.zshrc
Krok 2: Stwórz skrypt uruchamiający serwer Flask
- Przejdź do katalogu, w którym chcesz umieścić skrypt (np.
~/bin
):
mkdir -p ~/bin
cd ~/bin
- Stwórz skrypt
start_flask.sh
:
nano start_flask.sh
- Wprowadź do skryptu poniższy kod:
#!/bin/bash
cd "/Volumes/Seagate praca/PROGRAMOWANIE/CODE_SP/eDOM2024/_CURRENT_WORKS/eDOM24_local_server/"
export FLASK_APP=app_sending_data_form.py
export FLASK_ENV=production
flask run --host=192.168.1.111 --port=8080
- Zapisz i zamknij plik (
Ctrl + O
, następnieEnter
, a potemCtrl + X
). - Nadaj skryptowi prawa do wykonywania:
chmod +x start_flask.sh
Krok 3: Utwórz plik konfiguracyjny dla launchd
- Przejdź do katalogu
LaunchAgents
:
cd ~/Library/LaunchAgents
- Stwórz plik konfiguracyjny dla
launchd
:
nano com.username.startflask.plist
(Zamień username
na swoją nazwę użytkownika.)
- Wprowadź poniższy kod do pliku
.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.username.startflask</string>
<key>ProgramArguments</key>
<array>
<string>/Users/username/bin/start_flask.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/Volumes/Seagate praca/PROGRAMOWANIE/CODE_SP/eDOM2024/_CURRENT_WORKS/eDOM24_local_server/</string>
<key>StandardOutPath</key>
<string>/Users/username/Library/Logs/start_flask.log</string>
<key>StandardErrorPath</key>
<string>/Users/username/Library/Logs/start_flask.log</string>
</dict>
</plist>
Upewnij się, że w powyższym kodzie wszystkie ścieżki są poprawne i zamień username
na swoją nazwę użytkownika.
- Zapisz i zamknij plik (
Ctrl + O
,Enter
,Ctrl + X
).
Krok 4: Załaduj nową usługę launchd
- Załaduj usługę do
launchd
:
launchctl load ~/Library/LaunchAgents/com.username.startflask.plist
Od teraz serwer Flask będzie automatycznie uruchamiany po starcie lub restarcie systemu macOS. Możesz również ręcznie uruchomić serwer za pomocą aliasu startflask
.
Logi z uruchamiania serwera znajdziesz w pliku start_flask.log
w katalogu ~/Library/Logs
.