[PYTHON] Créer un environnement avec pyenv et pyenv-virtualenv

Remarques sur la création de votre propre environnement

Notez-le selon vos besoins lorsque vous travaillez à distance Le site auquel vous faites référence peut être plus facile à comprendre L'environnement est mac OSX: Yosemite.

pyenv pyenv gère l'environnement python. Vous pouvez créer un environnement Python différent de l'environnement standard.

URL de référence: Comment utiliser pyenv et virtualenv Comment gérer l'environnement Python avec pyenv Essayez d'utiliser pyenv et virtualenv

Les personnes qui ne veulent pas lire les explications (les personnes ayant des connaissances)

https://github.com/KodairaTomonori/Qiita/blob/master/shell/construct_pyenv.sh Copiez-le et exécutez-le pour créer l'environnement à la maison Si vous voulez construire autre chose que la maison, vous pouvez le faire en réécrivant la partie ~ / dans un chemin arbitraire.

Rendre pyenv disponible

Tout d'abord, git clone

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv



 Puis écrivez ce qui suit dans `~ / .bash_profile`. (À propos de .bashrc, .bash_profile: [Utilisation vraiment correcte de .bashrc et .bash_profile](http://qiita.com/magicant/items/d3bb7ea1192e63fba850)

export PYENV_ROOT="HOME/.pyenv" export PATH="PYENV_ROOT/bin:PATH" eval "(pyenv init -)"


 \ * 2020/03/17 Fixe: Double quart ajouté

## Installation de chaque version de python
 Vous pouvez l'installer avec `pyenv install 3.5.0`. La version est facultative.


#### **`install-version.`**

$ pyenv install 3.5.0 $ pyenv install 2.7.9

 Si vous faites une erreur, changez ʻinstall` en ʻuninstall` et exécutez.

## Changer de version de Python
 Vous pouvez changer de version avec `pyenv global x.x.x` ou` pyenv local x.x.x`.
 Si vous définissez `global`, il sera reflété dans l'ensemble, et si vous le définissez sur` local`, il sera reflété dans le répertoire courant. Cette réflexion se poursuivra même si vous quittez le terminal, il est donc très pratique de le définir pour chaque dossier avec `local`.

 Les changements dans ce shell peuvent être faits avec `shell`. Si vous l'utilisez, l'environnement ne sera reflété que dans le shell que vous utilisez actuellement. Par conséquent, si vous fermez le shell puis le rouvrez, ou si vous ouvrez plusieurs shells, le changement d'environnement ne sera pas affecté par d'autres.

 Est-ce `shell` si vous voulez l'utiliser temporairement,` local` si vous voulez le définir pour chaque dossier, ou `global` si vous voulez changer l'environnement global par défaut?

 Vous pouvez le restaurer en remplaçant la partie «x.x.x» par «système».


#### **`swich-python-version.`**

python --version Python 2.7.3

$ pyenv shell 2.7.9 $ python --version Python 2.7.9

$ pyenv shell 3.5.0 $ python --version Python 3.5.0

$ pyenv shell system $ python --version Python 2.7.3


## Installer le module
 Le python installé (2.7.9 et 3.5.0) ne contient que le module par défaut (pip freeze ne contient rien), donc installez-le.
 Pour installer le module, installez simplement n'importe quel module avec `pip install` comme d'habitude.

```pip install xxxxx```

pyenv-virtualenv
 «pyenv» seul est assez pratique, mais plus pratique.
 `pyenv-virtualenv` est un plugin pyenv pour créer différents environnements avec la même version (python).

## Comment installer

#### **`$  git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv`**

Puis écrivez les paramètres dans .bash_profile

eval "$(pyenv virtualenv-init -)"

Créer un nouvel environnement

Pour créer un nouvel environnement python, définissez pyenv virtualenv [version] pour créer un nouvel environnement appelé virtualenv-name. Pour [version] ici, spécifiez l'environnement existant.

make_new.


pyenv virtualenv 3.5.0 new_3.5.0

Ici, dans l'environnement nouvellement créé, les modules installés par pip etc. dans l'environnement créé par pyenv ne peuvent pas être utilisés. Si vous voulez utiliser celui utilisé dans [version], ajoutez l'option --system-site-package. Ensuite, passez le chemin vers les sites-packages de celui construit avec pyenv.

Dans l'exemple ci-dessous, si vous ajoutez --system-site-packages, ~ / .pyenv / versions / 3.5.0 / lib / python3.5 / site-packages sera ajouté au chemin.

sample_site-packages.


$ pyenv virtualenv 3.5.0 inde-3.5.0
$ pyenv virtualenv --system-site-packages 3.5.0 co-3.5.0
$ pyenv virtualenv --system-site-packages inde-3.5.0 co-inde-3.5.0

# sys.chemin Certaines parties sont omises.
$ python -c 'import sys; print(sys.path)'    #Voici 3.5.0
['', '~/.pyenv/versions/3.5.0/lib/python35.zip',..., '~/.pyenv/versions/3.5.0/lib/python3.5/site-packages']

(inde-3.5.0) $ python -c 'import sys; print(sys.path)'
['', '~/.pyenv/versions/3.5.0/lib/python35.zip', .... , '~/.pyenv/versions/inde-3.5.0/lib/python3.5/site-packages']

(co-3.5.0) $ python -c 'import sys; print(sys.path)'
['', '~/.pyenv/versions/3.5.0/lib/python35.zip', ... , '~/.pyenv/versions/co-3.5.0/lib/python3.5/site-packages', '~/.pyenv/versions/3.5.0/lib/python3.5/site-packages']

(co-inde-3.5.0)kodaira@fomalhaut:~$ python -c 'import sys; print(sys.path)'
['', '~/.pyenv/versions/co-inde-3.5.0/lib/python35.zip',  ... , '~/.pyenv/versions/co-inde-3.5.0/lib/python3.5/site-packages', '~/.pyenv/versions/3.5.0/lib/python3.5/site-packages']

Si vous voulez installer un module dans un autre environnement, vous pouvez écrire pip freeze quelque part et l'installer avec pip install -r. (Il semblait y avoir un moyen de le copier en faisant pyenv virtualenv, mais je ne pouvais pas le trouver, alors quelqu'un ...)

pip_install.


---Dans l'environnement que vous souhaitez copier----
$ pip freeze > pyp_list.txt
---Après avoir changé d'environnement----
$ pip install -r pyp_list.txt

Enregistrer et reconstruire l'environnement virtuel

Je pense que c'est le meilleur avantage de l'utilisation de pyenv-virtualenv. Il s'agit de sauver l'environnement et de recréer le même environnement ailleurs.

Tout d'abord, installez ce dont vous avez besoin (roue)

install_wheel.


$ pyenv exec pip install wheel

Enregistrer les informations sur les modules installés avec pip à l'aide de la molette

Enregistrer dans n'importe quel répertoire avec --wheel-dir = [dir] Ci-dessus, j'ai utilisé la sortie de pip freeze telle quelle, mais il semble préférable d'utiliser wheel.

save_module_info.


$ pyenv exec pip freeze > pyp_list.txt
$ pyenv exec pip wheel --wheel-dir=~/tmp/wheelhouse -r pyp_list.txt

Installez la même chose en utilisant la roue que vous avez créée précédemment lorsque vous avez créé un nouvel environnement

Avec wheel, vous pouvez enregistrer le paquet pré-construit, vous n'avez donc pas à le compiler à chaque fois. URL de référence: Je vais l'écrire d'une manière ou d'une autre.

install_using_wheel.


$ pyenv virtualenv 3.5.0 tes-3.5
$ pyenv global tes-3.5
$ pip install -r pyp_list.txt --use-wheel --no-index --find-links=tmp/wheelhouse
$ pip freeze

Résumé

Vous pouvez créer un environnement en utilisant pyenv et pyenv-virtualenv. Vous pouvez sauvegarder l'environnement avec "roue" et reproduire le même environnement ailleurs.

S'il vous plaît laissez-moi savoir s'il y a quelque chose qui ne va pas ou quelque chose de plus pratique

Recommended Posts

Créer un environnement avec pyenv et pyenv-virtualenv
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Installez pyenv et pyenv-virtualenv
Construction de l'environnement Python3 TensorFlow (Mac et pyenv virtualenv)
Créez un environnement virtuel avec pyenv et venv
Construction d'environnement virtuel Python (version 2017) pyenv et pyenv-virtualenv et virtualenv et virtualenv wrapper et pyvenv et venv
Construction d'environnement Python et TensorFlow
Construction de l'environnement de NumPy et matplotlib
Construction d'environnement avec anyenv + pyenv (migrer depuis pyenv uniquement (Mac))
[Python] Construction de l'environnement Django (pyenv + pyenv-virtualenv + Anaconda) pour macOS
Construire un environnement de calcul numérique avec pyenv et miniconda3
Commencez avec Python! ~ ① Construction de l'environnement ~
Construction de l'environnement Ruby avec AWS EC2
Construction d'environnement Python (pyenv + poetry + pipx)
Automatisez la construction d'environnement avec ShellScript
Utilisation de Chainer avec CentOS7 [Construction de l'environnement]
Construction et bases de l'environnement de reconnaissance d'image
Construction de l'environnement pytorch @ python3.8 avec pipenv
Création d'un environnement de développement local Python Partie 1 (installation de pyenv, pyenv-virtualenv, pip)
Construction d'environnement de Tensorflow et Chainer par Window avec CUDA (avec GPU)
Construction de l'environnement LaTeX et R (un peu Python) avec SublimeText3 (Windows)
[Pyenv] Construire un environnement python avec ubuntu 16.04
Construction de pipeline de données avec Python et Luigi
Utilisez smbus avec python3 sous environnement pyenv
Vue.js + Mémorandum de construction de l'environnement Flask ~ avec Anaconda3 ~
Créer un environnement pour Python et l'apprentissage automatique (macOS)
Créez un environnement virtuel pour python avec pyenv
Un mémo rempli de construction d'environnement RADEX
Entendons-nous bien avec Python # 0 (Construction de l'environnement)
Construction de l'environnement DeepIE3D
Construction d'environnement basée sur Emacs
Construction de l'environnement Linux
Construction d'environnement (python)
Réaliser la construction d'environnement pour "Deep Learning from scratch" avec docker et Vagrant
construction d'environnement django
Créez un environnement avec pyenv, pyenv-virtualenv, jupyter sur OS X El Capitan
Construction de l'environnement CodeIgniter
construction d'environnement python
Python - Construction de l'environnement
Construction de l'environnement Python
Créez un environnement Python 3 avec pyenv sur Mac et affichez des graphiques Network X
Construction de l'environnement Golang
Collecter des informations depuis Twitter avec Python (construction de l'environnement)
Construire un environnement d'analyse avec Docker (jupyter notebook + PostgreSQL)
Environnement et utilisation recommandés lors du développement avec Python
Construire un environnement python avec virtualenv et direnv
Construire un environnement Anaconda pour Python avec pyenv
Gérez de manière déclarative l'environnement avec Nix et home-manager
Installation de Python 3 et Flask [Résumé de la construction de l'environnement]
[0] Construction de l'environnement TensorFlow-GPU avec Anaconda sur Ubuntu
Construction d'environnement Poetry-virtualenv avec python de centos-sclo-rh ~ Notes
environnement de développement python -utilisation de pyenv et virtualenv-
[Django3] Construction de l'environnement et résumé de divers paramètres [Python3]
Exécutez OpenVino sur macOS et environnement pyenv et pipenv
Construction de l'environnement Python 3.x par Pyenv (CentOS, Ubuntu)
Supprimer l'ancien environnement pyenv sur Mac et mettre à jour