Question Comment configurer et utiliser un environnement de python virtuel dans Ubuntu?


Les environnements virtuels Python sont utilisés pour créer des environnements Python isolés afin d’éviter les conflits de dépendance et de version, et de prendre en charge indirectement les problèmes de permission. Mais quelle est la manière la plus simple de l’installer et de l’utiliser dans Ubuntu?


66
2018-01-18 14:23


origine




Réponses:


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

Installer virtualenv

Installer virtualenv avec

sudo apt-get install virtualenv

(pour Ubuntu 14.04 (trusty) installer python-virtualenv)

Installer virtualenvwrapper

La raison pour laquelle nous installons également virtualenvwrapper C'est parce qu'il offre des commandes simples et agréables pour gérer vos environnements virtuels. Il y a deux manières d'installer virtualenvwrapper:

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

Courir

sudo apt install virtualenvwrapper

puis courir

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

En utilisant 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é): Allumez autocomplete bash pour pip

    Courir

    pip completion --bash >> ~/.bashrc
    

    et courir source ~/.bashrc autoriser.

  2. Installer virtualenvwrapper

    Car 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
    

Installez virtualenv et virtualenvwrapper:

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

export WORKON_HOME=~/.virtualenvs

maintenant aussi créer ce répertoire

mkdir $WORKON_HOME

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

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

On peut aussi en ajouter astuces supplémentaires comme le suivant, qui fait en sorte que si pip crée un environnement virtuel supplémentaire, il est également placé dans notre WORKON_HOME annuaire:

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

Source ~ / .bashrc pour charger les modifications

source ~/.bashrc

Tester si ça marche

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

mkvirtualenv -p python2.7 test

Vous verrez que l'environnement sera configuré et que 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 pas maintenant vos packages 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

Prendre plaisir!


Merci à l'auteur de ce blogpost.


93
2018-01-18 14:23



python-pip et python-virtualenv sont installables via le répertoire Ubuntu, pas besoin d’installation manuelle. - Timo
Cependant, dans Ubuntu, nous recommandons les packages Ubuntu pour de nombreuses raisons. Il n'y a rien de mal avec les anciennes versions de pip ou virtualenv, elles sont parfaitement capables. - tumbleweed
@GerhardBurger: Si vous créez un virtualenv python3, il obtiendra un pip qui fonctionnera dans python3. Si vous utilisez virtualenv d'Ubuntu pour créer le virtualenv, tout ce que vous avez fait sera contenu dans virtualenv. Si vous démarrez sudo easy_installing, cela laissera un désordre sur / usr / local, ce qui n'est pas trivial à nettoyer, sans grand gain. - tumbleweed
ressemble à un alias n'est pas nécessaire maintenant: --no-site-packages est par défaut et --distribute déconseillé - int_ua
Au cas où mkvirtualenv test ne fonctionne pas, voir aussi: stackoverflow.com/questions/15608236/… - Nikos Alexandris


Les environnements virtuels permettent de gérer et d'isoler les dépendances par projet. De plus, ils évitent aussi le tout sudo pip install situation, qui est un risque de sécurité comme je l'ai expliqué dans https://askubuntu.com/a/802594/15003. La documentation officielle de Python également encourage l'utilisation d'environnements virtuels.

La méthode la plus simple pour créer et utiliser des environnements virtuels pour Python 2 et Python 3 consiste à installer virtualenven 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 activation, utiliser pip installer les paquets Python normalement, que vous utilisiez Python 2 ou 3; il n'y a pas besoin d'utiliser pip3 pour Python 3. sudo est seulement utilisé 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 avec:

virtualenv venv -p python3

En savoir plus sur les différentes cloches et sifflets pour virtualenv à https://virtualenv.pypa.io/en/stable/.


8
2018-06-13 21:57



source me sauve beaucoup de commandes - vnpnlz
OSError: [Errno 40] Trop de niveaux de liens symboliques: '/ var / www / html / python / check / venv / bin / python' - Saravanan Nandhan
@SaravananNandhan Veuillez poser une nouvelle question avec les détails nécessaires à la place. - edwinksl


C'est facile, vous installez python-virtualenv. Ensuite, vous pouvez créer un virtualenv avec le virtualenv commander. Voir leur documentation pour plus.


4
2018-01-18 20:11





Avec le module de 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 (depuis le ensurepip le module 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. Désactiver simplement taper

deactivate

MODIFIER:  le pyvenv le script a été déconseillé en faveur 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. (la source)


3
2018-06-20 18:21