79 votes

Comment configurer et utiliser un environnement virtuel Python dans Ubuntu ?

Les environnements virtuels Python sont utilisés pour créer des environnements Python isolés afin d'éviter les conflits de dépendances et de versions, et aussi pour prendre en charge indirectement les problèmes de permission. Mais quel est le moyen le plus simple de les configurer et de les utiliser dans Ubuntu ?

108voto

Vrolijk Points 1

Avec virtualenvwrapper (enveloppes conviviales pour la fonctionnalité de virtualenv )

Installer virtualenv

Installer virtualenv avec

sudo apt install virtualenv

Installer virtualenvwrapper

La raison pour laquelle nous installons également virtualenvwrapper c'est parce qu'il offre des commandes agréables et simples pour gérer vos environnements virtuels. Il existe deux façons d'installer virtualenvwrapper :

Comme paquet Ubuntu (à partir d'Ubuntu 16.04)

Exécuter

sudo apt install virtualenvwrapper

puis exécutez

echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc

Utilisation de pip

  1. Installer et/ou mettre à jour pip

    Installer pip pour Python 2 avec

    sudo apt install python-pip

    ou pour Python 3

    sudo apt install python3-pip

    (si vous utilisez Python 3, vous devrez peut-être utiliser pip3 代わりに pip dans la suite de ce guide).

    Facultatif (mais recommandé) : Activer l'autocomplétion de bash pour pip

    Exécuter

    pip completion --bash >> ~/.bashrc

    et exécuter source ~/.bashrc à activer.

  2. Installer virtualenvwrapper

    Parce que nous voulons éviter sudo pip nous installons virtualenvwrapper localement (par défaut sous ~/.local ) avec :

    pip install --user virtualenvwrapper

    y

    echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
  3. Source virtualenvwrapper dans .bashrc

    echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc

Configurer virtualenv et virtualenvwrapper :

Tout d'abord, nous exportons le WORKON_HOME qui contient le répertoire dans lequel nos environnements virtuels doivent être stockés. Faisons de cette variable ~/.virtualenvs

export WORKON_HOME=~/.virtualenvs

Maintenant, créez également ce répertoire

mkdir $WORKON_HOME

et mettre cette exportation dans notre ~/.bashrc afin que cette variable soit automatiquement définie

echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc

Nous pouvons également ajouter des astuces supplémentaires comme le suivant, qui s'assure que si pip crée un environnement virtuel supplémentaire, il est également placé dans notre WORKON_HOME répertoire :

echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc 

Sourcez ~/.bashrc pour charger les changements

source ~/.bashrc

Testez si cela fonctionne

Nous allons maintenant créer notre premier environnement virtuel. Le site -p est facultatif, il est utilisé pour définir la version de Python à utiliser ; il peut également être python3 par exemple.

mkvirtualenv -p python2.7 test

Vous verrez que l'environnement sera configuré, et votre invite comprend maintenant le nom de votre environnement actif entre parenthèses. Aussi, si vous exécutez maintenant

python -c "import sys; print sys.path"

vous devriez voir beaucoup de /home/user/.virtualenv/... parce qu'il n'utilise plus les paquets de sites de votre système.

Vous pouvez désactiver votre environnement en exécutant

deactivate

et si vous voulez retravailler dessus, tapez simplement

workon test

Enfin, si vous voulez supprimer votre environnement, tapez

rmvirtualenv test

Profitez-en !


Merci à l'auteur de ce blogpost .

9voto

edwinksl Points 22609

Les environnements virtuels offrent un moyen de gérer et d'isoler les dépendances sur la base de chaque projet. En outre, ils permettent d'éviter toute sudo pip install situation, qui constitue un risque pour la sécurité, comme je l'ai expliqué en https://askubuntu.com/a/802594/15003 . La documentation officielle de Python contient également encourage l'utilisation d'environnements virtuels .

La manière la plus simple de créer et d'utiliser des environnements virtuels pour Python 2 et Python 3 est d'installer virtualenv 使って apt o apt-get . Pour chaque projet Python, créez un virtualenv puis activez-le. Notez que le virtualenv est spécifique à une version particulière de Python. Après l'activation, utilisez pip pour installer les paquets Python comme d'habitude, que vous utilisiez Python 2 ou 3 ; il n'est pas nécessaire d'utiliser la commande pip3 pour Python 3. sudo est uniquement utilisé pour installer virtualenv et n'est pas utilisé avec pip et éviter ainsi le risque de sécurité susmentionné. Les commandes pour ce 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 avec :

virtualenv venv -p python3

Pour en savoir plus sur les différentes fonctionnalités de l'appareil, cliquez ici. virtualenv en https://virtualenv.pypa.io/en/stable/ .

4voto

C'est facile, vous installez Python-virtualenv . Ensuite, vous pouvez créer un virtualenv avec la commande virtualenv commandement. Voir leur documentation pour plus.

4voto

Vrolijk Points 1

Avec le module vénitien disponible à partir de Python 3.3 (et Ubuntu 15.10)

Les environnements virtuels (venvs) sont si populaires que la fonctionnalité est désormais incluse dans Python lui-même (à partir de la version 3.3). Pour l'utiliser sur Ubuntu, vous devez installer python3-venv (puisque le ensurepip n'est pas disponible) :

sudo apt-get install python3-venv

Après cela, vous pouvez utiliser

pyvenv myvirtualenv

pour créer un environnement virtuel appelé myvirtualenv . Vous pouvez alors utiliser

source myvirtualenv/bin/activate

pour activer l'environnement virtuel. Pour le désactiver, il suffit de taper

deactivate

EDITAR: Le site pyvenv script a été déprécié au profit de python3 -m venv . Cela évite toute confusion quant à l'interpréteur Python. pyvenv est connecté et donc quel interpréteur Python sera utilisé par l'environnement virtuel. ( source )

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X