[PYTHON] Une histoire d'essayer pyenv, virtualenv et virtualenvwrapper

Jusqu'à présent, l'environnement Python était géré par pyenv, mais je l'entends souvent, j'ai donc essayé d'utiliser virtualenv. En même temps, installez virtualenvwrapper.

Pré-environnement

Comme ça

$ pyenv versions 
  system
* 3.5.2 (set by /Users/hikaru/.pyenv/version)

Installation

Installez dans l'environnement de python 3.5.2.

$ pyenv version
3.5.2 (set by /Users/hikaru/.pyenv/version)
$ pip install virtualenv virtualenvwrapper

installer

Écrivez ce qui suit dans .bashrc

export WORKON_HOME=$HOME/.virtualenvs
source $PYENV_ROOT/versions/3.5.2/bin/virtualenvwrapper.sh

Exécutez la commande suivante.

$ mkdir ~/.virtualenvs
$ source ~/.bashrc

J'étais accro à l'emplacement de la source virtualenvwrapper.sh. Il existe également un fichier appelé $ HOME / .pyenv / shims / virtualenvwrapper.sh, mais il est différent de celui ci-dessus. Ou plutôt, lorsque j'ai trouvé cela, le terminal était sorti.

bouge toi

Construire l'environnement

$ mkvirtualenv django
Using base prefix '/Users/hikaru/.pyenv/versions/3.5.2'
New python executable in /Users/hikaru/.virtualenvs/django/bin/python3.5
Also creating executable in /Users/hikaru/.virtualenvs/django/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/get_env_details
(django) $ pip list -l --format=columns
Package    Version
---------- -------
appdirs    1.4.3  
packaging  16.8   
pip        9.0.1  
pyparsing  2.2.0  
setuptools 35.0.2 
six        1.10.0 
wheel      0.29.0 

Avec ce genre de sentiment, un environnement appelé django a été créé. Seuls les packages minimum requis sont inclus.

Sortez de l'environnement

(django)$ deactivate
$

Vous pouvez accéder à chaque environnement en affichant la liste des environnements avec la commande workon et en sélectionnant l'environnement comme option.

$ workon 
django
$ workon django
(django) $

Supprimer l'environnement

$ rmvirtualenv django
Removing django...
$ 

Construction d'environnement en spécifiant Python

Lorsque mkvirtualenv est exécuté sous l'environnement python3.5.2, l'environnement python3.5.2 est créé, mais un autre python peut être utilisé explicitement.

$ mkvirtualenv --python=/usr/bin/python2.7 django
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in /Users/hikaru/.virtualenvs/django/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/hikaru/.virtualenvs/django/bin/get_env_details
(django) $ python --version
Python 2.7.10
(django) $ 

Python 2.7.10 fonctionne correctement.

Résumé

Si vous n'avez pas besoin de gérer les packages pour chaque version de python, vous n'avez probablement pas besoin de virtualenv. D'un autre côté, s'il y a des packages qui se perturbent mutuellement ou si une spécification de version détaillée est requise, Il semble préférable de désactiver l'environnement avec virtualenv.

Recommended Posts

Une histoire d'essayer pyenv, virtualenv et virtualenvwrapper
Mécanisme de pyenv et virtualenv
L'histoire d'essayer deep3d et de perdre
environnement de développement python -utilisation de pyenv et virtualenv-
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Une histoire d'essais et d'erreurs essayant de créer un groupe d'utilisateurs dynamique dans Slack
Coexistence de pyenv et autojump
L'histoire de l'exportation d'un programme
Une histoire d'essayer d'exécuter JavaScripthon sur Windows et d'abandonner.
L'histoire d'un débutant en apprentissage profond essayant de classer les guitares avec CNN
L'histoire de l'abandon d'essayer de se connecter à MySQL en utilisant Heroku
L'histoire de la création d'une caméra sonore avec Touch Designer et ReSpeaker
L'histoire d'essayer de reconnecter le client
Une histoire reliant Slack et la feuille de calcul Google
Une compréhension approximative de python-fire et un mémo
Un petit examen minutieux de Pandas 1.0 et Dask
Connectez beaucoup de Python ou et et
Une histoire sur Python pop and append
L'histoire du traitement A du blackjack (python)
Une histoire d'essayer d'installer uwsgi sur une instance EC2 et d'échouer
L'histoire de la fabrication d'une boîte qui interconnecte la mémoire AL de Pepper et MQTT
L'histoire d'un technicien de haut niveau essayant de prédire la survie du Titanic
Construction de l'environnement Python3 TensorFlow (Mac et pyenv virtualenv)
Construire un environnement python avec virtualenv et direnv
Un mémorandum d'étude et de mise en œuvre du Deep Learning
Une histoire accro aux variables globales et à la portée de Go
Écrire une note sur la version python de python virtualenv
Histoire d'essayer d'utiliser Tensorboard avec Pytorch
Créez un environnement virtuel avec pyenv et venv
L'histoire d'essayer Sourcetrail × macOS × VS Code
L'histoire de la création d'un générateur d'icônes mel
Une histoire sur la modification de Python et l'ajout de fonctions
[Python] Une compréhension approximative des itérables, des itérateurs et des générateurs
Prise en compte des forces et faiblesses de Python
L'histoire du serveur Web et du DAG d'Airflow, dont le chargement prend beaucoup de temps
Je ne trouve pas l'horloge tsc! ?? L'histoire d'essayer d'écrire un patch de noyau
Une histoire sur la tentative de contribuer à l'analyse COVID-19 avec l'offre gratuite d'AWS et l'échec
La vraie cause du client Jubatus crachant un timeout et abandonnant une erreur
Une histoire sur la tentative d'introduire Linter au milieu d'un projet Python (Flask)
Découvrez qui est un utilisateur favori de Hatena Bookmark et qui n'est plus actif