MacOS. Szybkie uruchamianie serwera flask

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):

  1. Otwórz terminal.
  2. 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).

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

  1. Zapisz i zamknij plik:
  • Aby zapisać, naciśnij Ctrl + O, a następnie Enter.
  • Aby zamknąć edytor, naciśnij Ctrl + X.
  1. 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:

  1. Alias do uruchamiania serwera Flask.
  2. 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.

  1. Otwórz terminal.
  2. Edytuj plik .zshrc:
   nano ~/.zshrc
  1. 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"
  1. Zapisz zmiany (Ctrl + O) i zamknij plik (Ctrl + X).
  2. Załaduj zmiany do bieżącej sesji terminala:
   source ~/.zshrc

Krok 2: Stwórz skrypt uruchamiający serwer Flask

  1. Przejdź do katalogu, w którym chcesz umieścić skrypt (np. ~/bin):
   mkdir -p ~/bin
   cd ~/bin
  1. Stwórz skrypt start_flask.sh:
   nano start_flask.sh
  1. 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
  1. Zapisz i zamknij plik (Ctrl + O, następnie Enter, a potem Ctrl + X).
  2. Nadaj skryptowi prawa do wykonywania:
   chmod +x start_flask.sh

Krok 3: Utwórz plik konfiguracyjny dla launchd

  1. Przejdź do katalogu LaunchAgents:
   cd ~/Library/LaunchAgents
  1. Stwórz plik konfiguracyjny dla launchd:
   nano com.username.startflask.plist

(Zamień username na swoją nazwę użytkownika.)

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

  1. Zapisz i zamknij plik (Ctrl + O, Enter, Ctrl + X).

Krok 4: Załaduj nową usługę launchd

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

 

Dodaj komentarz