Comment configurer et utiliser un environnement python virtuel dans Ubuntu?

66

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, ainsi que les problèmes d’autorisations indirects. Mais quelle est la manière la plus simple de l’installer et de l’utiliser dans Ubuntu?

    
posée Gerhard Burger 18.01.2013 - 15:23
la source

4 réponses

93

Avec virtualenvwrapper (wrappers conviviaux pour les fonctionnalités de virtualenv )

Installer virtualenv

Installez virtualenv avec

sudo apt-get install virtualenv

(pour Ubuntu 14.04 (trusty), installez python-virtualenv )

Installez virtualenvwrapper

La raison pour laquelle nous installons également virtualenvwrapper est qu’elle offre des commandes simples et conviviales pour gérer vos environnements virtuels. Il existe deux manières d’installer virtualenvwrapper :

En tant que paquet Ubuntu (à partir d'Ubuntu 16.04)

Exécuter

sudo apt install virtualenvwrapper

puis lancez

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

Utiliser pip

  1. 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 le reste de ce guide).

    Facultatif (mais recommandé): Activer la saisie semi-automatique pour pip

    Exécuter

    pip completion --bash >> ~/.bashrc
    

    et exécutez source ~/.bashrc pour activer.

  2. Installer virtualenvwrapper

    Comme 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
    
  3. Source virtualenvwrapper dans .bashrc

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

Configurer virtualenv et virtualenvwrapper:

Nous exportons d’abord la variable WORKON_HOME qui contient le répertoire dans lequel nos environnements virtuels doivent être stockés. Faisons cela ~/.virtualenvs

export WORKON_HOME=~/.virtualenvs

maintenant aussi créer ce répertoire

mkdir $WORKON_HOME

et placez cette exportation dans notre fichier ~/.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 celles-ci, ce 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

Testez si cela fonctionne

Maintenant, nous créons notre premier environnement virtuel. L'argument -p est facultatif, il est utilisé pour définir la version Python à utiliser; il peut aussi s'agir de python3 par exemple.

mkvirtualenv -p python2.7 test

Vous verrez que l’environnement sera configuré et que votre invite inclut maintenant 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/... parce qu’il n’utilise pas maintenant vos paquets de site système.

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 this blogpost .

    
réponse donnée Gerhard Burger 18.01.2013 - 15:23
la source
8

Les environnements virtuels permettent de gérer et d’isoler les dépendances par projet. De plus, ils évitent toute la situation de sudo pip install , qui constitue un risque de sécurité, comme je l'ai expliqué dans lien . La documentation Python officielle encourage 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 consiste à installer virtualenv en utilisant apt ou apt-get . Pour chaque projet Python, créez une virtualenv puis activez-la. 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 n'est utilisé que pour installer virtualenv et n'est pas utilisé avec pip , évitant ainsi le risque de sécurité susmentionné. Les commandes à faire sont les suivantes:

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 à lien .

    
réponse donnée edwinksl 13.06.2016 - 23:57
la source
4

Il est facile d’installer python-virtualenv . Ensuite, vous pouvez créer un virtualenv avec la commande virtualenv . Consultez leur documentation pour en savoir plus.

    
réponse donnée tumbleweed 18.01.2013 - 21:11
la source
3

Avec le module venv 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 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 . Vous pouvez alors utiliser

source myvirtualenv/bin/activate

pour activer l'environnement virtuel. Pour désactiver, tapez simplement

deactivate

MODIFIER: Le script pyvenv a été déconseillé au profit de python3 -m venv . Cela évite toute confusion quant à la connexion de pyvenv à l'interpréteur Python et, par conséquent, à l'interpréteur Python qui sera utilisé par l'environnement virtuel. ( source )

    
réponse donnée Gerhard Burger 20.06.2016 - 20:21
la source

Lire d'autres questions sur les étiquettes