Les environnements virtuels Python permettent de créer des environnements python isolés afin d’éviter les conflits de dépendances et de versions, mais également de s’occuper indirectement des problèmes d’autorisation. Mais quel est le moyen le plus simple de le configurer et de l’utiliser dans Ubuntu?
virtualenvwrapper
(wrappers conviviaux pour la fonctionnalité de virtualenv
)Installez virtualenv
avec
Sudo apt-get install virtualenv
(pour Ubuntu 14.04 (fiable), installez python-virtualenv
)
La raison pour laquelle nous installons également virtualenvwrapper est qu’elle offre des commandes simples et agréables pour la gestion de vos environnements virtuels. Il y a deux façons d'installer virtualenvwrapper
:
Courir
Sudo apt install virtualenvwrapper
puis courir
echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc
Installer et/ou mettre à jour pip
Installez pip pour Python 2 avec
Sudo apt-get install python-pip
ou pour Python 3
Sudo apt-get install python3-pip
(Si vous utilisez Python 3, vous devrez peut-être utiliser pip3
au lieu de pip
dans la suite de ce guide).
Facultatif (mais recommandé): Activer bash autocomplete pour pip
Courir
pip completion --bash >> ~/.bashrc
et exécutez source ~/.bashrc
pour l'activer.
Installer virtualenvwrapper
Parce que nous voulons éviter Sudo pip
nous installons virtualenvwrapper
localement (par défaut sous ~/.local
) avec:
pip install --user virtualenvwrapper
et
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
Virtualenvwrapper source dans .bashrc
echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc
Nous exportons d’abord la variable WORKON_HOME
qui contient le répertoire dans lequel nos environnements virtuels doivent être stockés. Faisons ce ~/.virtualenvs
export WORKON_HOME=~/.virtualenvs
maintenant aussi créer ce répertoire
mkdir $WORKON_HOME
et mettez cette exportation dans notre fichier ~/.bashrc
pour que cette variable soit automatiquement définie
echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc
Nous pouvons également ajouter des astuces supplémentaires comme celle-ci, qui garantit que si pip
crée un environnement virtuel supplémentaire, il est également placé dans notre répertoire WORKON_HOME
:
echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc
Source ~/.bashrc pour charger les modifications
source ~/.bashrc
Teste si cela fonctionne
Nous créons maintenant notre premier environnement virtuel. L'argument -p
est facultatif. Il est utilisé pour définir la version Python à utiliser. il peut également s'agir de python3
par exemple.
mkvirtualenv -p python2.7 test
Vous verrez que l'environnement sera configuré et votre invite inclut désormais le nom de votre environnement actif entre parenthèses. Aussi, si vous courez maintenant
python -c "import sys; print sys.path"
vous devriez voir beaucoup de /home/user/.virtualenv/...
car il n’utilise plus vos paquets site site.
Vous pouvez désactiver votre environnement en exécutant
deactivate
et si vous voulez y travailler à nouveau, tapez simplement
workon test
Enfin, si vous souhaitez supprimer votre environnement, tapez
rmvirtualenv test
Profitez-en!
Merci à l'auteur de cet article de blog .
Les environnements virtuels offrent un moyen de gérer et d'isoler les dépendances projet par projet. De plus, ils évitent également toute la situation de Sudo pip install
, qui constitue un risque pour la sécurité, comme expliqué dans https://askubuntu.com/a/802594/15003 . La documentation officielle Python _ encourage également l'utilisation des environnements virtuels .
Le moyen le plus simple de créer et d'utiliser des environnements virtuels pour Python 2 et Python 3 est d'installer virtualenv
à l'aide de apt
ou apt-get
. Pour chaque projet Python, créez un fichier virtualenv, puis activez-le. Notez que virtualenv est spécifique à une version Python particulière. Après l'activation, utilisez pip
pour installer les packages Python comme d'habitude, que vous utilisiez ou non Python 2 ou 3; il n'est pas nécessaire d'utiliser pip3
pour Python 3. Sudo
est utilisé uniquement pour installer virtualenv
et n'est pas utilisé avec pip
name__, évitant ainsi le risque de sécurité susmentionné. Les commandes à faire sont:
Sudo apt update
Sudo apt install virtualenv
cd ~/desired_directory # cd to desired_directory
virtualenv venv # create virtualenv named venv for default system Python, which is Python 2 for Ubuntu
source venv/bin/activate # activate virtualenv
pip install -U pip # upgrade pip in case it is outdated
pip install desired_package # install desired_package
Si vous souhaitez créer un virtualenv pour Python 3, remplacez virtualenv venv
par:
virtualenv venv -p python3
En savoir plus sur les différentes options pour virtualenv
à https://virtualenv.pypa.io/fr/stable/ .
C'est facile, vous installez python-virtualenv . Ensuite, vous pouvez créer un virtualenv avec la commande virtualenv
. Voir leur documentation pour plus.
Les environnements virtuels (venvs) sont si populaires que la fonctionnalité est maintenant incluse dans python lui-même (à partir de la version 3.3). Pour l'utiliser sur Ubuntu, vous devez installer python3-venv
(puisque le module ensurepip
n'est pas disponible):
Sudo apt-get install python3-venv
Après cela, vous pouvez utiliser
pyvenv myvirtualenv
créer un environnement virtuel appelé myvirtualenv
name__. Vous pouvez alors utiliser
source myvirtualenv/bin/activate
activer l'environnement virtuel. Pour désactiver simplement, tapez
deactivate
EDIT: Le script pyvenv
est obsolète en faveur de python3 -m venv
. Cela évite toute confusion quant à la connexion de Python interprète pyvenv
et donc de quel interprète Python sera utilisé par l'environnement virtuel. ( source )