Dla każdego języka programowania istnieje pewien zestaw narzędzi, bibliotek, framework’ów, które usprawniają pracę nad kodem źródłowym, upraszczają realizacja zadań poprzez automatyzację niektórych czynności czy też dostarczają gotowych rozwiązań, które można wykorzystać w budowanej aplikacji. Jakiś czas temu przedstawiłem w swoim wpisie na blogu ogólny opis narzędzi do tworzenia aplikacji internetowych, natomiast w tym poście skupię się przede wszystkich na narzędzia dla programistów Python’a.
Zarządzanie pakietami
Instalując pakiety zaleca się używać narzędzia pip wspólnie ze środowiskiem wirtualnym virtualenv, co pozwala uniknąć konfliktów zależności między różnymi projektami. Do zarządzania pakietami można używać poniższych poleceń:
pip install package
– instalacja pakietu o nazwie package,pip uninstall package
– usunięcie pakietu o nazwie package,pip list
– wyświetlenie listy zainstalowanych pakietów,pip show package
– wyświetlenie szczegółowych informacji o pakiecie package,pip search package
– wyszukiwanie pakietu package,pip freeze > requirements.txt
– zapisanie zależności od innych pakietów do pliku,pip install -r requirement.txt
– instalacja zależności wg pliku.
Środowisku wirtualne
Środowisko wirtualne virtualenv pozwala uniknąć problemów z zależności od wersji różnych pakietów między aplikacjami. Przykład zastosowania virtualenv przedstawiłem w jednym z postów na tematu uWSGI. Użycie środowiska wirtualne sprowadza się do komend:
pip install virtualenv
– instalacja virtualenv,cd my_project_folder; virtualenv my_project
– przejście do katalogu i utworzenie wirtualnego środowiska (Python 2.x)cd my_project_folder; python3 -m venv venv
– przejście do katalogu i utworzenie wirtualnego środowiska (Python 3.x)source my_project/bin/activate
– aktywacja środowiska wirtualnego,pip install package
– instalacja pakietu package w środowisku wirtualnym,deactivate
– deaktywacja środowiska wirtualnego.
Sprawdzanie jakości kodu źródłowego
O jakość kodu źródłowego można dbać używać tzw. linter’a, narzędzia analizującego kod i podpowiadającego co zmienić czy zoptymalizować. W języku Python najczęściej stosowanym linterem jest pylint.
Debugowanie aplikacji
W przypadku analizy przyczyn błędów w aplikacji niezastąpionym narzędziem niezależnie od język programowania jest debugger. W języku Python najczęściej stosowanym jest pdb.
Dokumentacja
Kolejnym z ważnym elementów tworzenie aplikacji jest przygotowanie ich dokumentacji, która może być dostępna w formacie HTML i w języku Python może być wygenerowana za pomocą Sphinx.
Przygotowanie aplikacji do wdrożenia
Najczęściej wykorzystywanym rozwiązaniem do przygotowania paczki do wdrożenia budowanej aplikacji jest setuptools, który wymaga przygotowania pliku setup.py zawierającego wszystkie ustawienia konieczne do utworzenia paczki aplikacji.