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
launchdprzy 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.