„Das Zen blühender Python-Projekte im Jahr 2025 ist ein Interpreter pro Projekt und eine Werkzeugkette pro Aufgabe. Beherrsche zuerst virtuelle Umgebungen; der Rest folgt natürlich.
Python 2 erreichte das Ende der Lebensdauer im Januar 2020 und wird nicht mehr von Mainstream-Linux-Distributionen oder Windows-Installationsprogrammen ausgeliefert. Heute unterstützt jedes aktiv gepflegte Paket - wissenschaftlich, geospatial oder anderweitig - CPython ≥ 3.9, wobei die meisten Bibliotheken jetzt gegen Python 3.13 testen. Mehrere Interpreter können immer noch auf derselben Maschine koexistieren (QGIS / ArcGIS Pro bettet seine eigene 3.11, Nvidia CUDA liefert eine für PyTorch, etc.), aber die moderne Art, Projekte zu isolieren, ist durch *leichte * virtuelle Umgebungen, die von venv, pipx oder conda/mamba erstellt wurden.
Dieses Kapitel destilliert einen Workflow, der den in diesem E-Book verwendeten Rechenstapel unabhängig von der Plattform zuverlässig erstellt. Er betont:
conda/mambaals glatte Cross-Platofrm Standardlösung,pip+venvfür Linux/macOS (Alternative; vorzugsweisemambaverwenden),jüngste Verbesserungen bei Binärrädern für GDAL / Fiona / Shapely (Pip unter Windows ist endlich schmerzlos!) und
nachhaltige Wege, um Umgebungen reproduzierbar zu halten.
Bevor Sie fortfahren, kann eine schnelle, plattformübergreifende Python-Installation einschließlich GDAL mit unserer Projektvorlage] installiert werden:
Installieren Sie mamba für Ihre Plattform].
Laden Sie unsere environment.yml] herunter.
Öffnen Sie ein Terminal (Befehlsaufforderung), navigieren Sie zum Verzeichnis, in dem die heruntergeladene * Umgebung angezeigt wird. yml* lebt und schafft die Umwelt:
mamba env create -f environment.ymlAktivieren Sie die Umgebung und führen Sie Python aus:
mamba activate wrr-proj (wrr-proj) user@computer:$ pythonÜberprüfen Sie, ob die Installation von Geopaketen funktioniert hat (es sollte keine Fehlermeldung auftreten):
>>> from osgeo import gdalOptionnally, if the check succeeded worked, exit python and pip-install flusstools within this
wrr-projectenvironment:>>> exit() (wrr-proj) user@computer:$ pip install flusstools
pip + venv¶
Schnellstart (Linux Mint/Ubuntu 22.04 LTS oder höher)¶
Installieren Sie den neuesten Interpreter¶
$ sudo apt update && sudo apt install python3 python3-venv python3-dev build-essential libgdal-dev gdal-binModerne Debian/Ubuntu-Repositories verpacken bereits CPython 3. Die zusätzlichen dev-Header werden für Räder benötigt, die C‐Erweiterungen zum Zeitpunkt der Installation noch kompilieren.
Erstellen und Aktivieren einer Umgebung¶
$ python3 -m venv ~/venvs/vflussenv
$ source ~/venvs/vflussenv/bin/activateA venv inherits nothing from the system except the interpreter binary.
Upgrade Core Tools¶
(vflussenv) $ python -m pip install --upgrade pip wheel setuptoolspip 24.x bundles the new repair wheel feature that fixes many‑linux and macOS wheels on the fly.
Einbauvorschriften¶
Für die Datenanalyse ohne die geospatial GDAL-Bibliothek, laden Sie diese requirements.txt file herunter. Andernfalls, um [Bibliotheken für die Geodatenanalyse einschließen], laden Sie diese requirements.txt](https://
(vflussenv) $ pip install -r requirements.txtBinärräder für GDAL, Rasterio, Fiona und Shapely sind seit 2024-10 auf PyPI verfügbar, so dass kein externes PPA mehr erforderlich ist.
Fließwerkzeuge installieren¶
(vflussenv) $ pip install flusstoolsTesten Sie es:
(vflussenv) $ python
>>> import flusstools as ftconda / 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‐
pipinstallationen funktionieren endlich unter Windows.Große Geospatial Stacks (Proj, GEOS, HDF5, NetCDF) sind jedoch noch einfacher über den conda‐forge Kanal.
Use
piponly when you must keep the environment minimal.
Quick Guide (Anaconda / Miniforge)¶
Installieren Sie Miniforge 4 (leichter als Anaconda, standardmäßig auf conda-forge) - lesen Sie die Installationsanweisungen auf der Website des Entwicklers website].
Holen Sie sich die flusstools environment.yml] und verwenden Sie es, um die conda
flussenvzu erstellen (dauert ein paar Minuten):conda env create -f environment.ymlAktivieren Sie
flussenvund installieren Sie flusstools, ein rein PyPi-gehostetes Paket:conda activate flussenv pip install flusstoolsFüge einen Jupyter-Kernel hinzu:
ipython kernel install --user --name fluss_kernel
Install extra packages with pip¶
Mehr als 500 000 Projekte leben heute auf PyPI. Basissyntax:
(vflussenv) $ pip install seaborn
(flussenv) > Pip install seaborn
Großanlage¶
E-Book-Beispiele beruhen auf dem folgenden wissenschaftlichen Stack (bereits in der bereitgestellten requirements.txt enthalten):
numpy, pandas, scipy, matplotlib, seeborn.
Geopandas, formbar, rasterio, rasterstats, laspy
networkx, openpyxl, tabellarisch
Installieren Sie sie manuell mit:
(vflussenv) pip install numpy pandas geopandas rasterio rasterstats laspy networkx openpyxl tabulateInstallieren Sie Jupyter Kernel¶
(vflussenv) pip install ipykernel jupyterlab
(vflussenv) python -m ipykernel install --user --name vfluss_kernelWählen Sie vfluss kernel aus Kernel > Kernel ändern innerhalb von JupyterLab.
Aktualisierung von Umgebungen¶
Aktualisieren der virtuellen Umgebung (venv)¶
schön - virtualenv macht das einfach. Hier ist ein **robuster Upgrade-Flow, der Ihren aktuellen Venv (vflussenv) behält und sich auf JupyterLab + Jupyter Book konzentriert. keine Conda, keine YAML-Bearbeitungen.
1. Aktivieren & 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).txt2. Stellen Sie sicher, dass die Build-Toolchain aktuell ist
pip install -U pip setuptools wheel3. Alte Pakete anzeigen
pip list --outdated4. Aktualisieren Sie alle Pakete (zwei Optionen)
Aktualisiert jedes * Pip-verwaltete * Paket, außer direkte 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])
PYThis option preserves a backup and handles macOS/Linux sed differences.
# 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.txt5 Optional das neue Set anheften
pip freeze > requirements-upgraded-$(date +%Y%m%d).txt6. Verifizieren
jupyter lab --version
jupyter-book --version
python -c "import sys; print(sys.version)"7 Aufräumen
Reinigen Sie alte Build-Caches, um Speicherplatz zu sparen:
pip cache purgeUpdate conda env¶
1. Erstellen Sie eine Momentaufnahme des aktuellen Zustands (einfaches 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).txt**2. Optional, aber empfohlen: Behalten Sie Ihre aktuelle Python-Moll-Version **
Dies verhindert einen unerwarteten Python-Sprung, der Konflikte verursachen kann. Passen Sie 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 Solver auf dem neuesten Stand 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. Aktualisieren Sie alle Conda-Pakete
Verwenden Sie strenge Conda-Schmiede für Konsistenz (um Ihre 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
Tun Sie dies nur **nach ** dem Conda-Update. Dies hält conda verantwortlich für Kernbibliotheken.
# 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. Reine Caches
conda clean -a -y7. Versionen überprüfen
jupyter lab --version
jupyter-book --version
python -c "import sys, jupyterlab; print('py', sys.version);"Nutzung der Umwelt in IDEs¶
JupyterLabor¶
(vflussenv) jupyter labPoint your browser to https://hydro-informatics.com/lab. Switch kernels via the Kernel menu.
PyCharm¶
Datei > Einstellungen > Python Interpreter > Add > Existing > pick
~/venvs/vflussenv/bin/python(Linux) oder%USERPROFILE%\mambaforge\envs\flussenv\python.exe(Windows).Aktivieren Sie Sync Python Packaging Tools, damit
pip installim Terminal von PyCharm die Interpreterliste aktualisiert.
Umgebungen löschen¶
venv:
rm -rf ~/venvs/vflussenvconda:
conda env remove -n flussenv
Installationsgrundlinie¶
Verwenden Sie
python -m venv(pipxfür CLI-Tools), es sei denn, ein Paket erfordert C/C++-Bibliotheken, die Ihr Betriebssystem nicht erfüllen kann, und greifen Sie dann nach conda‐forge.Windows-Benutzer brauchen keine Conda mehr für GDAL, aber Conda bleibt der einfachste Weg für einen vollständigen geospatialen Data-Science-Stack.
Pin exact package versions for archival projects; use
>=pins for living research code.Installieren Sie niemals Pakete mit
sudo pip; arbeiten Sie immer in einer isolierten Umgebung.