“Der zen der florierenden Python-Projekte im Jahr 2025 ist ein Dolmetscher pro Projekt und ein Werkzeug-Kette pro Aufgabe. Master virtuelle Umgebungen zuerst; der Rest folgt natürlich.”
Python 2 erreichte End‐of-life in Januar 2020 und wird nicht mehr von Mainstream Linux Distributionen oder Windows-Installatoren versendet. Heute unterstützt jedes aktiv gepflegte Paket –wissenschaftlich, geospatial oder anderweitig – CPython ≥ 3.9, wobei die meisten Bibliotheken nun gegen Python 3.13 testen. Mehrere Dolmetscher können noch auf der gleichen Maschine koexistieren (QGIS / ArcGIS Pro embeds seine eigenen 3.11, Nvidia CUDA Schiffe ein für PyTorch, etc.), aber die moderne Art, Projekte zu isolieren ist durch * leichte* virtuelle Umgebungen erstellt von venv, *pipx, oder conda/mamba.
Dieses Kapitel destilliert einen Workflow, der den in diesem E‐Book verwendeten Rechenstapel zuverlässig baut, unabhängig von der Plattform. Sie betont
conda/mambaals glatte Cross-Pultofrm-Standardlösung,pip+venvfür Linux/macOS (alternativ; vorzugsweise untermamba)jüngste Verbesserungen bei binären Rädern für GDAL/Fiona/Shapely (Pip unter Windows ist endlich schmerzlos) und
nachhaltige Möglichkeiten, die Umwelt reproduzierbar zu halten.
--
*Bevor Sie fortfahren, eine schnelle, plattformübergreifende, funktionsfähige Python-Installation inklusive GDAL kann mit unserem Projekt Template:
Installieren Sie mamba für Ihre Plattform.
Laden Sie unsere environment.yml.
Öffnen Sie ein Terminal (Befehlsaufforderung), navigieren Sie in das Verzeichnis, in dem das heruntergeladene Umgebung. yml lebt und schafft die Umgebung:
mamba env create -f environment.ymlAktivieren Sie die Umwelt und führen Sie Python:
mamba activate wrr-proj (wrr-proj) user@computer:$ pythonPrüfen Sie, ob die Installation von Geopaketen funktioniert hat (keine Fehlermeldung sollte auftreten):
>>> from osgeo import gdalOptional, wenn die Prüfung erfolgreich funktioniert, verlassen python und pip-install flusstools in dieser
wrr-projectUmgebung:>>> exit() (wrr-proj) user@computer:$ pip install flusstools
--
pip + venv¶
Schnellstart (Linux Mint/Ubuntu 22.04 LTS oder später)¶
Neueste Dolmetscher installieren¶
$ sudo apt update && sudo apt install python3 python3-venv python3-dev build-essential libgdal-dev gdal-binModerne Debian/Ubuntu-Repositories Paket CPython 3. Die zusätzlichen dev-Header werden für Räder benötigt, die noch C‐Erweiterungen zu installieren Zeit kompilieren.
Erstellen & aktivieren einer Umgebung¶
$ python3 -m venv ~/venvs/vflussenv
$ source ~/venvs/vflussenv/bin/activateEin venv erbt nichts vom System außer dem Dolmetscher binär.
Kernwerkzeuge aktualisieren¶
(vflussenv) $ python -m pip install --upgrade pip wheel setuptoolspip 24.xbündelt das neue Reparaturrad-Feature, das viele‐linux- und macOS-Räder auf der Fliege fixiert.
Anforderungen an die Installation¶
Für die Datenanalyse ohne die geospatiale GDAL-Bibliothek, laden Sie diese Anforderungen.txt file. Ansonsten, um inklusive Bibliotheken für die Geospatial-Datenanalyse, laden Sie diese Anforderungen.txt. Installieren Sie die Requirements.txt-Datei in eine neue Umgebung namens `vflussenv’ wie folgt.
(vflussenv) $ pip install -r requirements.txtBinäre Räder für GDAL, Rasterio, Fiona und Shapely sind seit *2024‐10 auf PyPI verfügbar, so dass keine externe PPA mehr benötigt wird.
flusstools installieren¶
(vflussenv) $ pip install flusstoolsTesten Sie es:
(vflussenv) $ python
>>> import flusstools as ft--
conda / mamba - empfohlen unter Windows 11 & plattformübergreifende Datenwissenschaft¶
2025 Status von GDAL unter Windows¶
2024‐10: gdal‐3.9.0‐cp311‐win amd64.whl landete auf PyPI > pure‐
pipinstalliert schließlich unter Windows.Über den conda‐forge Kanal sind jedoch große geospatiale Stacks (Proj, GEOS, HDF5, NetCDF) noch einfacher.
Verwenden Sie
pipnur, wenn Sie must die Umgebung minimal halten.
Quick guide (Anaconda / Miniforge)¶
Installieren Sie Miniforge 4 (heller als Anaconda, defaults to conda‐forge) -- verweisen Sie auf die Installationsanweisungen des Entwicklers website.
Holen Sie sich die flusstools environment.yml und erstellen Sie die conda
flussenv(wird ein paar Minuten gebraucht):conda env create -f environment.ymlAktivieren Sie
flussenvund installieren Sie flusstools, das ist ein rein PyPi-hosted Paket:conda activate flussenv pip install flusstoolsFügen Sie einen Jupyter Kernel hinzu:
ipython kernel install --user --name fluss_kernel
--
Installieren Sie zusätzliche Pakete mit pip¶
Mehr als 500 000 Projekte leben heute auf PyPI. Basissyntax:
(vflussenv) $ pip install seaborn
(flussenv) > pip install seaborn
Bulk install¶
E‐Book-Beispiele stützen sich auf den folgenden wissenschaftlichen Stack (bereits in den bereitgestellten quirements.txt enthalten):
numpy, pandas, scipy, matplotlib, seaborn
geopandas, formell, rasterio, rasterstats, laspy
Networkx, openpyxl, tabulate
Installieren Sie sie manuell mit:
(vflussenv) pip install numpy pandas geopandas rasterio rasterstats laspy networkx openpyxl tabulate--
Jupyter Kernel installieren¶
(vflussenv) pip install ipykernel jupyterlab
(vflussenv) python -m ipykernel install --user --name vfluss_kernelWählen Sie vfluss kernel aus Kernel > Kernel innerhalb von JupyterLab ändern.
--
Umgebungen aktualisieren¶
Virtuelle Umgebung aktualisieren (venv)¶
schön-virtualenv macht das einfach. Hier ist ein robust-in-place-Upgrade-Stream, der Ihren aktuellen venv (vflussenv) hält und sich auf *JupyterLab + Jupyter Book konzentriert. no conda, no YAML edits.
1. Aktivieren und Snapshot für einfaches Rollback
# activate your venv if not already
source vflussenv/bin/activate
# snapshot current state for rollback
pip freeze > requirements-$(date +%Y%m%d).txt*2. Stellen Sie sicher, dass die Build-Toolchain aktuell ist
pip install -U pip setuptools wheel3. Vorausschau veraltete Pakete
pip list --outdated4. Upgrade aller Pakete (zwei Optionen)
Upgradet jedes pip-managed-Paket mit Ausnahme direkter VCS/URL-Installationen.
python - <<'PY'import json, subprocess, sys
# get outdated packages in JSON
out = subprocess.check_output(
[sys.executable, "-m", "pip", "list", "--outdated", "--format=json"],
text=True
)
# take just the package names
names = [pkg["name"] for pkg in json.loads(out)]
# optional: don't re-upgrade the bootstrap tools every loop
skip = {"pip", "setuptools", "wheel"}
for name in names:
if name in skip:
continue
subprocess.check_call([sys.executable, "-m", "pip", "install", "--upgrade", name])
PYDiese Option bewahrt ein Backup und behandelt macOS/Linux sed.
# start from a clean freeze
pip freeze > requirements.txt
# Linux:
sed -i 's/==/>=/' requirements.txt
# macOS (BSD sed):
# sed -i '' 's/==/>=/' requirements.txt
# upgrade per the relaxed pins
pip install --upgrade -r requirements.txt**5. Optional das neue Set **
pip freeze > requirements-upgraded-$(date +%Y%m%d).txt*6. Verify
jupyter lab --version
jupyter-book --version
python -c "import sys; print(sys.version)"7. Aufräumen
Saubere alte Build-Caches, um Speicherplatz zu sparen:
pip cache purgeUpdate conda env¶
1. Erstellen Sie einen Snapshot des aktuellen Zustands (easy rollback)
# exact conda specs
conda list --explicit > conda-specs-$(date +%Y%m%d).txt
# pip packages (if any were installed via pip)
python -m pip freeze > pip-freeze-$(date +%Y%m%d).txt2. Optional aber empfohlen: halten Sie Ihre aktuelle Python-Mollversion
Dies verhindert einen unerwarteten Pythonsprung, der Konflikte verursachen kann. Adjust 3.11.* an was auch immer python --version zeigt:
python --version
# pin to current minor while updating other deps
conda install "python=3.11.*" -c conda-forge3. Stellen Sie sicher, dass Ihr Soldat aktuell ist
# update conda itself (and mamba if you have it) in base
conda activate base
conda update -n base -c conda-forge conda
# optional: if you use mamba
conda install -n base -c conda-forge mamba
conda activate vflussenv4. Alle Conda-Pakete aktualisieren
Verwenden Sie strenge conda-forge für Konsistenz (um Ihren YAML nicht zu ändern).
# with mamba (faster)
mamba update --all -c conda-forge --yes
# or with conda
conda update --all -c conda-forge --yes5. Wenn Sie pip für einige Pakete verwendet haben, aktualisieren Sie diese auch
Nur dies tun nach das Conda-Update. Dies hält conda für Kernbibliotheken verantwortlich.
# show what’s outdated (pip-managed only)
python -m pip list --outdated
# upgrade all pip-managed packages (safer loop than xargs)
python - <<'PY'
import subprocess, sys
out = subprocess.check_output([sys.executable, "-m", "pip", "list", "--outdated", "--format=freeze"], text=True)
pkgs = [line.split("==")[0] for line in out.splitlines() if "@" not in line]
for p in pkgs:
subprocess.check_call([sys.executable, "-m", "pip", "install", "-U", p])
PY6. Saubere Kälber
conda clean -a -y*7. Versionen überprüfen
jupyter lab --version
jupyter-book --version
python -c "import sys, jupyterlab; print('py', sys.version);"Nutzung der Umwelt in IDEs¶
JupyterLab¶
(vflussenv) jupyter labGeben Sie Ihren Browser an https://hydro-informatics.com/lab. Schalten Sie Kernel über das Kernel Menü.
PyCharm¶
File > Einstellungen > Python Interpreter > Add > Existing > Pick
~/venvs/vflussenv/bin/python(Linux) oder%USERPROFILE%\mambaforge\envs\flussenv\python.exe(Windows).Aktivieren Sie Sync Python Verpackungstools, so dass
pip installinnerhalb des Terminals von PyCharm die Dolmetscherliste aktualisiert.
--
Löschen von Umgebungen¶
venv*:
rm -rf ~/venvs/vflussenvconda*:
conda env remove -n flussenv
--
Installation unter der Linie¶
Verwenden Sie
python -m venv(pipxfür CLI-Tools) es sei denn, ein Paket * benötigt C/C++-Bibliotheken, die Ihr Betriebssystem nicht erfüllen kann – dann erreichen Sie conda‐forge*.Windows-Benutzer nicht mehr notiert conda für GDAL, aber conda bleibt der einfachste Weg für einen vollen Geospatial Data‐science Stack.
Pin genaue Paketversionen für Archivprojekte; verwenden Sie
>=pins for living research code.Installieren Sie niemals Pakete mit
sudo pip; arbeiten Sie immer in einer isolierten Umgebung.