Python

Tutoriel Python Virtualenv

Tutoriel Python Virtualenv
Les maux de tête de la gestion des dépendances sont communs aux développeurs. Une mise à jour erronée nécessite des heures de recherche pour corriger.  Souvent, plusieurs applications se chevauchent sur les exigences de dépendance de la bibliothèque.  Cela pourrait amener deux applications s'exécutant dans le même environnement à nécessiter deux versions de la même bibliothèque.  Ce type de conflits pourrait entraîner un certain nombre de problèmes à la fois dans le développement et la production.Entrez Virtualenv.  Virtualenv est un outil qui crée des silos de dépendances.  Il vous permet de déployer des applications dans un environnement unique avec des dépendances isolées. Docker utilise une stratégie similaire au niveau du système d'exploitation. Virtualenv ne sépare qu'au niveau de Python et de la bibliothèque - c'est-à-dire que les environnements exécutables et bibliothèques Python sont uniques à cet environnement virtuel.  Ainsi, au lieu d'utiliser les bibliothèques installées au niveau de l'environnement du système d'exploitation, vous pouvez séparer les versions et bibliothèques de Python en environnements virtuels en silos.  Cela vous permet de déployer plusieurs applications dans le même environnement de système d'exploitation avec différentes versions des mêmes dépendances.

Installer Virtualenv

L'installation de Virtualenv est simple. En utilisant pip, vous pouvez exécuter la commande ci-dessous à partir du terminal.

$ pip installer virtualenv

Alternativement, si vous utilisez Anaconda, vous devrez utiliser la commande de terminal ci-dessous à la place.

$ conda install virtualenv

Votre sortie de terminal devrait ressembler à ce qui suit.

Bradleys-Mini:~ BradleyPatton$ pip install virtualenv
Collecte de virtualenv
Téléchargement de virtualenv-15.1.0-py2.py3-aucun-aucun.whl (1.8 Mo)
100% |████████████████████████████████| 1.8 Mo 267 Ko/s
Installation des packages collectés : virtualenv
Virtualenv-15 installé avec succès.1.0
Bradleys-Mini :~ BradleyPatton$

Créer un environnement

Virtualenv a une commande principale. La ligne ci-dessous exécutée à partir du terminal créera un nouveau "silo" ou environnement Python virtuel dans le répertoire Tutorial.

$ virtualenv Tutoriel

Vous devriez obtenir une sortie de terminal comme ci-dessous après l'exécution.

Bradleys-Mini:site-packages BradleyPatton$ virtualenv Tutoriel
Écraser /Utilisateurs/BradleyPatton/anaconda/lib/python2.7/emplacement-
packages/Tutoriel/lib/python2.7/orig-préfixe.txt avec un nouveau contenu
Nouvel exécutable Python dans /Users/BradleyPatton/anaconda/lib/python2.7/emplacement-
packages/Tutoriel/bin/python
copier /Users/BradleyPatton/anaconda/bin/python =>
/Utilisateurs/BradleyPatton/anaconda/lib/python2.7/site-packages/Tutoriel/bin/python
copier /Users/BradleyPatton/anaconda/bin/… /lib/libpython2.7.dylib =>
/Utilisateurs/BradleyPatton/anaconda/lib/python2.7/site-packages/Tutoriel/lib/
libpython2.7.dylib
Installer setuptools, pip, wheel… terminé.

La commande virtualenv construira une structure de répertoire comprenant un binaire, une bibliothèque et un répertoire d'inclusion pour le nouvel environnement virtuel qui a été créé.

Bradleys-Mini:Tutoriel BradleyPatton$ ls
bin                            lib
inclure                        pip-selfcheck.json
Bradleys-Mini:Tutoriel BradleyPatton$

/poubelle contient vos exécutables notamment Python et pip.

Bradleys-Mini:bin BradleyPatton$ ls
activate                    easy_install-2.7           python-config
Activer.csh                pip                       python2
Activer.poisson               pip2                        python2.7
activer_ceci.py           pip2.7                       roue
easy_install                 python
Bradleys-Mini:bin BradleyPatton$

le /lib et /inclure les répertoires incluent les fichiers de support pour Python et l'application à développer.

Activer Virtualenv

Le script d'activation met à jour votre chemin afin que vous puissiez utiliser cet environnement virtuel sans avoir à naviguer dans le répertoire. Cela le rend un peu plus facile à utiliser, mais peut être ignoré si vous êtes un ninja terminal et que les frappes de touches ne vous dérangent pas.

Dans le /poubelle répertoire il y a un script d'activation BASH. Vous pouvez exécuter en utilisant le ci-dessous.

$ ./Activer

Si vous noterez d'après mes tâtonnements ci-dessous que j'ai dû modifier l'autorisation du fichier à exécuter. j'ai utilisé le CHMOD 700 activer commande pour mettre à jour les autorisations. Vous devrez peut-être également effectuer cette mise à jour avant d'exécuter le script activate.

Bradleys-Mini:bin BradleyPatton$ ls
activate              easy_install-2.7     python-config
Activer.csh           pip                 python2
Activer.poisson          pip2                 python2.7
activer_ceci.py       pip2.7                roue
easy_install           python
Bradleys-Mini:bin BradleyPatton$ ./Activer
-frapper: ./activate : autorisation refusée
Bradleys-Mini:bin BradleyPatton$ sudo ./Activer
Mot de passe:
sudo : ./activate : commande introuvable
Bradleys-Mini:bin BradleyPatton$ chmod 700 activer
Bradleys-Mini:bin BradleyPatton$ ./Activer
Bradleys-Mini:bin BradleyPatton$

Désactiver Virtualenv

Pour annuler les modifications apportées aux variables d'environnement par activate, exécutez la commande suivante à partir du terminal. Cela annulera vos changements de chemin comme s'ils ne se sont jamais produits. C'est aussi simple que ça.

$ désactiver

Suppression d'un environnement

Supprimer un environnement virtuel est aussi simple que rm. Tapez simplement ce qui suit pour supprimer le répertoire et récursivement son contenu.

$ rm -r TutorialtoRemove

Maintenant quoi

Eh bien, vous devez maintenant installer vos bibliothèques et votre application dans le nouvel environnement virtuel.  Pip facilite le sourcing de vos bibliothèques.

Je n'entrerai pas dans les subtilités du pip dont certains peuvent être trouvés ici, mais je vais démontrer une installation à un seul pip.

$ pip install pandas (Tutoriel) Bradleys-Mini:bin BradleyPatton$ pip install pandas
Collectionner des pandas
Utiliser pandas-0 en cache.22.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9
_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Collecte numpy>=1.9.0 (des pandas)
Utiliser numpy-1 en cache.14.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9
_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Collecte de python-dateutil (à partir de pandas)
Utilisation de python_dateutil-2 en cache.6.1-py2.py3-aucun-aucun.whl
Collecte de pytz>=2011k (des pandas)
Utiliser pytz-2017 en cache.3-py2.py3-aucun-aucun.whl
Collecter six>=1.5 (de python-dateutil-> pandas)
Utilisation du cache six-1.11.0-py2.py3-aucun-aucun.whl
Installation des packages collectés : numpy, six, python-dateutil, pytz, pandas
numpy-1 installé avec succès.14.0 panda-0.22.0
python-dateutil-2.6.1 pytz-2017.3 six-1.11.0
(Tutoriel) Bradleys-Mini:bin BradleyPatton$

La commande suivante ouvrira une ligne de commande d'interpréteur Python.  Je vais importer notre nouvelle bibliothèque de pandas et vérifier la version. La version 19 est ma version globale des pandas, mais comme vous le voyez sur la sortie du terminal, la version utilisée dans notre environnement virtuel Tutorial est la 22.

$ python (Tutoriel) Bradleys-Mini:bin BradleyPatton$ python
Python 2.7.13 |Continuum Analytics, Inc.| (par défaut, 20 décembre 2016, 23:05:08)
[CCG 4.2.1 compatible Apple LLVM 6.0 (clang-600.0.57)] sur darwin
Tapez "aide", "droit d'auteur", "crédits" ou "licence" pour plus d'informations.
Anaconda vous est présenté par Continuum Analytics.
S'il vous plaît vérifier: http://continuum.io/merci et https://anaconda.organisation
>>> importer des pandas
>>> les pandas.__version__
u'0.22.0'
>>>

Ce tutoriel devrait vous aider à démarrer avec Virtualenv.  J'ai ajouté le lien vers la page Virtualenv qui peut aider à une configuration approfondie à l'aide de paramètres et de paramètres de configuration pouvant être utilisés dans des circonstances particulières.

Les références

https://virtualenv.papy.io/fr/stable

Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...