Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Python (Installation)

« Le zen de projets Python florissants en 2025 est un interprète par projet et une chaîne d’outils par tâche. Master environnement virtuel d’abord; le reste suit naturellement."

Python 2 a atteint la fin de vie en janvier 2020 et n’est plus expédié par les distributions Linux ou les installateurs Windows. Aujourd’hui, chaque paquet activement entretenu – scientifique, géospatial ou autre – supporte CPython ≥ 3.9, la plupart des bibliothèques testant maintenant contre Python 3.13. Plusieurs interprètes peuvent encore coexister sur la même machine (QGIS / ArcGIS Pro intègre ses propres 3.11, Nvidia CUDA en envoie un pour PyTorch, etc.), mais la façon moderne d’isoler les projets est de léger environnements virtuels créés par venv, pipx, ou conda/mamba.

Ce chapitre distille un flux de travail qui construit de façon fiable la pile de calcul utilisée dans ce livre électronique, quelle que soit la plateforme. Il souligne


Avant de continuer, une installation python exploitable multiplateforme, incluant GDAL, peut être installée en utilisant notre project template:

  1. Installez mamba pour votre plateforme.

  2. Téléchargez notre environment.yml.

  3. Ouvrez un terminal (inviteline de commande), naviguez dans le répertoire où l’environnement * téléchargé. yml* vit et crée l’environnement :

    mamba env create -f environment.yml
  4. Activer l’environnement et exécuter Python :

    mamba activate wrr-proj
    (wrr-proj) user@computer:$ python
  5. Vérifiez si l’installation des geopackages a fonctionné (aucun message d’erreur ne doit se produire):

    >>> from osgeo import gdal
  6. Optionnellement, si la vérification a réussi, quitter python et pip-install flusstools dans cet environnement wrr-project:

    >>> exit()
    (wrr-proj) user@computer:$ pip install flusstools

pip + venv

Démarrage rapide (Linux Mint/Ubuntu 22.04 LTS ou ultérieur)

Installer un nouvel interprète

$ sudo apt update && sudo apt install python3 python3-venv python3-dev build-essential libgdal-dev gdal-bin

Les dépôts Debian/Ubuntu modernes paquetent déjà CPython 3. Les en-têtes dev supplémentaires sont nécessaires pour les roues qui compilent encore des extensions C au moment de l’installation.

Créer & activer un environnement

$ python3 -m venv ~/venvs/vflussenv
$ source ~/venvs/vflussenv/bin/activate

A venv n’hérite que du binaire de l’interprète.

Mise à niveau des outils de base

(vflussenv) $ python -m pip install --upgrade pip wheel setuptools

pip 24.x regroupe la nouvelle fonction repair wheel qui corrige plusieurs roues-linux et macOS à la volée.

Installer les exigences

Pour l’analyse des données sans la bibliothèque géospatiale GDAL, téléchargez ce fichier requirements.txt. Autrement, pour inclure les bibliothèques pour l’analyse des données géospatiales, télécharger ce requirements.txt. Installez le fichier requirements.txt dans un nouvel environnement appelé `vflussenv’ comme suit.

(vflussenv) $ pip install -r requirements.txt

Des roues binaires pour GDAL, Rasterio, Fiona et Shapely sont disponibles sur PyPI depuis 2024‐10, donc plus de PPA externe n’est nécessaire.

Installer les flusstools

(vflussenv) $ pip install flusstools

Essaie-le.

(vflussenv) $ python
>>> import flusstools as ft

conda / mamba - recommandé sur Windows 11 et la science des données multiplateforme

État 2025 de GDAL sous Windows

Guide rapide (Anaconda / Miniforge)

  1. Installer Miniforge 4 (plus léger qu’Anaconda, par défaut pour conda-forge) -- se référer aux instructions d’installation sur le site Web.

  2. Obtenez les flusstools environment.yml et utilisez-les pour créer le conda flussenv (prend quelques minutes):

    conda env create -f environment.yml
  3. Activez flussenv et installez flusstools, qui est un paquet uniquement hébergé par PyPi:

    conda activate flussenv
    pip install flusstools
  4. Ajouter un noyau Jupyter :

    ipython kernel install --user --name fluss_kernel

Installez des paquets supplémentaires avec pip

Plus de 500 000 projets vivent sur PyPI aujourd’hui. Syntaxe de base :

Linux/macOS (venv)
Windows (conda env)

(vflussenv) $ pip installer Seaborn

Installation en vrac

Les exemples de livres électroniques reposent sur la pile scientifique suivante (déjà incluse dans les exigences.txt) :

Installez-les manuellement avec :

(vflussenv) pip install numpy pandas geopandas rasterio rasterstats laspy networkx openpyxl tabulate

Installer le noyau Jupyter

(vflussenv) pip install ipykernel jupyterlab
(vflussenv) python -m ipykernel install --user --name vfluss_kernel

Sélectionnez vfluss kernel de Kernel > Changer le noyau à l’intérieur de JupyterLab.


Environnements de mise à jour

Mettre à jour l’environnement virtuel (venv)

agréable—virtualenv rend cela simple. ici, c’est un flux de mise à niveau robust en place qui maintient votre veine actuelle (vflussenv) et se concentre sur JupyterLab + Jupyter Book.

1. Activer & instantané pour faciliter le retour

# activate your venv if not already
source vflussenv/bin/activate

# snapshot current state for rollback
pip freeze > requirements-$(date +%Y%m%d).txt

2. Assurez-vous que la chaîne d’outils de construction est à jour

pip install -U pip setuptools wheel

3. Aperçu des paquets périmés

pip list --outdated

4. Mettre à jour tous les paquets (deux options)

Option A -- safe loop (exhaustive)
Option B -- "requirements with >="

Mettre à jour chaque paquet pip-managed sauf les installations VCS/URL directes.

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])
PY

5. En option, épinglez le nouvel ensemble

pip freeze > requirements-upgraded-$(date +%Y%m%d).txt

6. Vérifier

jupyter lab --version
jupyter-book --version
python -c "import sys; print(sys.version)"

7. Nettoyage

Nettoyer les vieux caches de construction pour économiser de l’espace disque :

pip cache purge

Mettre à jour conda env

1. Créer un instantané de l’état actuel (repli facile)

# 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. Facultatif mais recommandé: conservez votre version mineure actuelle de Python

Cela empêche un saut inattendu de Python qui peut causer des conflits. Ajuster 3.11.* à quelque python --version montre :

python --version
# pin to current minor while updating other deps
conda install "python=3.11.*" -c conda-forge

3. Assurez-vous que votre solveur est à jour

# 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 vflussenv

4. Mettre à jour tous les paquets conda

Utilisez la conda-forge stricte pour la cohérence (pour ne pas modifier votre YAML).

# with mamba (faster)
mamba update --all -c conda-forge --yes

# or with conda
conda update --all -c conda-forge --yes

5. Si vous avez utilisé pip pour certains paquets, mettez à jour ceux aussi

Seulement faire cela après la mise à jour de conda. Cela maintient conda en charge des bibliothèques centrales.

# 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])
PY

6. Caches propres

conda clean -a -y

7. Vérifier les versions

jupyter lab --version
jupyter-book --version
python -c "import sys, jupyterlab; print('py', sys.version);"

Utilisation de l’environnement dans les IDE

JupyterLab

(vflussenv) jupyter lab

Pointez votre navigateur à https://hydro-informatics.com/lab. Commuter les noyaux via le menu Kernel.

PyCharm


Suppression des environnements


Résultat de l’installation