python 3.12.12 zainstalowany przez pyenv (pyenv install 3.12.12)
Dla użytkowników Windows: pyenv-win lub Python z python.org i py -3.12 -m venv .venv.
Krok po kroku
# 1. Wybierz dowolny katalog roboczy i wejdz do niegomkdir -p ~/python-debever-przyklady && cd ~/python-debever-przyklady# 2. Pobierz oba pliki (uwaga - `python-version` zapisujemy z kropka)curl -O https://debever.pl/tools/requirements.txtcurl -o .python-version https://debever.pl/tools/python-version# 3. Upewnij sie, ze pyenv ma 3.12.12 (instalacja jesli brak)pyenv install --skip-existing 3.12.12# 4. Stworz srodowisko wirtualne - pyenv automatycznie wybierze 3.12.12# z .python-version w tym katalogupython -m venv .venv# 5. Aktywujsource .venv/bin/activate # macOS / Linux# .venv\Scripts\activate # Windows PowerShell# 6. Zainstaluj zaleznoscipip install -r requirements.txt
Po ostatniej komendzie środowisko jest gotowe. python i pip w aktywowanym shellu wskazują na .venv/, a wersje pakietów odpowiadają tym z requirements.txt.
Komenda powinna wypisać OK. Jeśli któryś moduł się nie importuje — venv nie został aktywowany albo pip install zakończył się błędem.
Uruchamianie kodu z artykułów
Po aktywacji .venv można:
Wkleić blok kodu do REPL (python) i wykonać linia po linii
Zapisać blok kodu jako .py i uruchomić: python skrypt.py
Otworzyć Jupyter / IPython (jeśli zainstalowane osobno) i wykonać blok jako komórkę
Dla artykułu Praca z rastrami w Pythonie pełny przykład tworzy pliki /tmp/dem.tif, /tmp/landcover.tif, /tmp/slope.tif, /tmp/stream.tif. Można je otworzyć w QGIS lub odczytać z powrotem rasterio/rioxarray.
Pakiety bezpośrednie
Większość pozycji w requirements.txt to zależności tranzytywne (affine od rasterio, pillow od matplotlib itd.). Bezpośrednio instalujemy tylko:
requirements.txt zawiera wszystkie pakiety (bezpośrednie + tranzytywne) z dokładnymi wersjami (==), nie zakresami (>=). To celowe:
Odtwarzalność — każda osoba pobierająca plik ze strony dostaje identyczny zestaw wersji. Bloki kodu w artykułach dają identyczne wyniki
Ochrona przed regresjami — zmiana wersji biblioteki (np. numpy 2.4 → 3.0) może subtelnie zmienić wyniki obliczeń lub API. Pin chroni przed tym
Pewność, co się instaluje — pip install -r requirements.txt pokazuje wszystkie wersje (łącznie z tranzytywnymi); nie ma niespodzianek z “rozwiązanym” zakresem >=
Przeciwieństwem byłby plik typu numpy>=2.0, który dla każdej osoby instalującej mógłby dać inną wersję — i być może inne wyniki.