Outils pour utilisateurs

Outils du site


virtualenv

Python: Virtualenv

Pense bêtes

# Installation initiale
sudo apt install python3-pip python3-venv
python3 -m pip install --upgrade pip
 
# Dans le dossier du projet
python3 -m venv mon_env
source mon_env/bin/activate
python3 -m pip install -r requirements.txt
python3 -m pip install Pillow==7.1.1
pip freeze > all_requirements.txt

Version de python

Si vous avez plusieurs versions de python, vous devez remplacer

python3 

par

python3.x

ou x = 6 ou 7 ou 8 ou 9 ou 10 ou 11 …

Ressources

Installation d'un package sans environnement virtuel

python3 -m pip install psutil --user 
python3 -m mon_fichier.py

Notez le –user, ainsi que les -m.
Ceci va installer psutil dans ~.local, pas au niveau du système. L'option -m exécute pip en tant que module. Il y a un warning sur le python path, personnellement python m'a toujours trouvé les packages de .local, sur debian et ubuntu.

Si besoin, ajouter à ~.bashrc

export PYTHONPATH="${PYTHONPATH}:~/.local"

Liste des package installés localement

Donc sans les packages du système et les packages installés dans le système.

python3 -m pip list --user

Environnement Virtuel

Installation de venv

# Mise à jour de pip
python3 -m pip install --upgrade pip
# Installation de venv
sudo apt install python3-venv

Ressources

Initialisation

cd /le/dossier/de/votre/projet/truc/
# Création du dossier environnement si pas encore créé
python3 -m venv mon_env
# Activation 
source mon_env/bin/activate
# le prompt devient (mon_env) machin@127:/../../../projets/truc/
# Installation des package
python3 -m pip install -r requirements.txt
# Installation d'un package supplémentaire
python3 -m pip install Pillow==7.1.1
# Création ou re-création des requirements
pip freeze > requirements.txt

Arguments spécifiques

Installation avec les sources dans un dossier

python3 -m pip install --no-index --find-links=/media/data/exclude/clones/mediapipe mediapipe

Avec accès aux package système

Permet à python du venv d'accéder au package système: –system-site-packages

python3 -m pip install -r --system-site-packages requirements.txt

–no-site-packages est la valeur par défaut

Depuis un Git

python3 -m pip install -e git+https://git.repo/some_pkg.git#egg=SomeProject

Exécution d'un script de votre projet

cd /le/dossier/de/votre/projet/truc/
./mon_env/bin/python3 ./sous_dossier/main.py
# Dans Geany, commande de construction
../mon_env/bin/python3 "%f"

Relance pour installer de nouveaux package

cd /le/dossier/de/votre/projet/truc/
source mon_env/bin/activate
python3 -m pip install some_package
# Mise à jour des requirements
pip freeze > requirements.txt

Génération du fichier requirements.txt

Pour faciliter la distribution de votre projet dans son virtualenv, il est recommandé de produire un fichier requirements.txt qui listera toutes les dépendances de votre projet.
C'est la liste de tous les paquets que vous avez installé pour votre projet.

pip freeze > requirements.txt

Création d'un venv avec une autre version de python

Installation de python 3.8 sur Xubuntu 18.04

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.8

Création d'un venv

cd /mes/projets/keras-jordan-bird/
python3.8 -m venv mon_env
sudo apt install python3.8-venv python3.8-dev
python3.8 -m venv mon_env
source mon_env/bin/activate
python3.8 -m pip install -r requirements.txt

Travailler avec Geany et un Virtual Env

Dans “Construire” / “Définir les commandes de construction”:

../mon_env/bin/python3 "%f"

virtualenv.txt · Dernière modification : 2022/05/06 15:49 de serge