Construction de l'environnement Python 3.x par Pyenv (CentOS, Ubuntu)

introduction

Depuis que j'ai décidé de créer une application avec python, j'ai pensé que la série python 2.x, qui est incluse dans le système d'exploitation par défaut, conviendrait, mais Lequel de Python 2 ou Python 3 dois-je utiliser pour le développement? dit que Python3.x est déjà stable, vous pouvez donc utiliser Python3.x à l'échelle du système avec pyenv. J'ai essayé de créer un environnement.

Au début, je pensais que ce serait correct de gérer uniquement pyenv, mais l'installation de chaque python prend beaucoup de temps et il semble qu'il n'est pas possible de supprimer et de reconstruire facilement l'environnement, j'ai donc également introduit virtualenv.

environnement

Étape 1: Installez les packages requis

Installation des packages requis lors de la compilation de python.

CentOS


$ sudo yum install gcc bzip2 bzip2-devel openssl openssl-devel readline readline-devel

Ubuntu


$ sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev

Étape 2: Installez Pyenv

Obtenez-le de github.

$ cd /usr/local/
$ sudo git clone git://github.com/yyuu/pyenv.git ./pyenv
$ sudo mkdir -p ./pyenv/versions ./pyenv/shims

Étape 3: Installez Pyenv-virtualenv

Je souhaite préparer un environnement distinct pour chaque version avec virtualenv, alors installez le plug-in pyenv-virtualenv.

$ cd /usr/local/pyenv/plugins/
$ sudo git clone git://github.com/yyuu/pyenv-virtualenv.git

Étape 4: réglage du chemin

Créez / etc / profile.d / pyenv.sh.

$ echo 'export PYENV_ROOT="/usr/local/pyenv"' | sudo tee -a /etc/profile.d/pyenv.sh
$ echo 'export PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"' | sudo tee -a /etc/profile.d/pyenv.sh
$ source /etc/profile.d/pyenv.sh #Refléter les paramètres
$ pyenv --version
pyenv 20141211-6-g995da2d
$

Je veux hériter de PATH et PYENV_ROOT au moment de sudo, donc éditez comme suit avec visudo de la même manière que Comment hériter de PATH à sudo.

#Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults    env_keep += "PATH"
Defaults    env_keep += "PYENV_ROOT"

Étape 5: Comment utiliser Pyenv

Pour autant que je puisse voir l'aide, il semble que les commandes qui peuvent être utilisées avec rbenv sont les mêmes.

$ pyenv --help
pyenv 20141211-6-g995da2d
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set or show the shell-specific Python version
   install     Install a Python version using python-build
   uninstall   Uninstall a specific Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   version     Show the current Python version and its origin
   versions    List all Python versions available to pyenv
   which       Display the full path to an executable
   whence      List all Python versions that contain the given executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/yyuu/pyenv#readme
$

Étape 6: installation de Python

Vérifiez la version qui peut être installée.

$ pyenv install --list

Installation de la dernière version 3.4.2 à compter du 28 décembre 2014.

$ sudo pyenv install -v 3.4.2
$ pyenv versions
* system (set by /usr/local/pyenv/version)
  3.4.2
$

Changement de la version python par défaut pour chaque utilisateur en 3.4.2.

$ sudo pyenv global 3.4.2
$ pyenv versions
  system
* 3.4.2 (set by /usr/local/pyenv/version)
$ python --version
Python 3.4.2
$

Étape 7: créer virtualenv

Vous pouvez créer un environnement à l'aide de la version python existante avec la commande suivante. Les packages installés avec pip, etc. varient en fonction de l'environnement, vous pouvez donc facilement installer des packages.

$ sudo pyenv virtualenv 3.4.2 dev01-3.4.2
$ pyenv versions
  system
* 3.4.2 (set by /usr/local/pyenv/version)
  dev01-3.4.2
$ sudo pyenv local dev01-3.4.2 #Environnement actuel dev01-3.4.Changer en 2
$ pyenv versions
  system
  3.4.2
* dev01-3.4.2 (set by /usr/local/pyenv/plugins/.python-version)
$

Essayez d'installer gunicorn avec pip.

$ sudo pip install gunicorn
$ pip list
gunicorn (19.1.1)
pip (1.5.6)
setuptools (2.1)
$ sudo pyenv local 3.4.2 
$ pip list # 3.4.2 gunicorn n'est pas installé dans l'environnement.
pip (1.5.6)
setuptools (2.1)
$

Vous pouvez supprimer dev01-3.4.2 avec la commande suivante.

$ sudo pyenv uninstall dev01-3.4.2
pyenv: remove /usr/local/pyenv/versions/dev01-3.4.2? y
$ pyenv versions
  system
* 3.4.2 (set by /usr/local/pyenv/plugins/.python-version)
$

en conclusion

Si vous utilisez pyenv, vous pouvez facilement installer la série python3.x sans vous soucier de l'environnement python au début du système, et il semble que vous puissiez facilement créer une vérification des opérations des séries python2.x et python3.x sur un seul système d'exploitation.

Il existe également un wrapper pour rbenv et pyenv appelé anyenv, qui semble être plus pratique si vous utilisez des outils d'environnement dans plusieurs langues. Préparez l'environnement de développement avec anyenv

C'est tout.

Recommended Posts

Construction de l'environnement Python 3.x par Pyenv (CentOS, Ubuntu)
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Construction d'environnement Python (pyenv, anaconda, tensorflow)
Construction d'environnement Python (pyenv + poetry + pipx)
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
Construction d'environnements OpenCV3 et Python3 sur Ubuntu
Construction d'environnement (python)
construction d'environnement python
Python - Construction de l'environnement
[Pyenv] Construire un environnement python avec ubuntu 16.04
Procédure de construction de l'environnement: Ubuntu + Apache2 + Python + Pyramid
Construction de l'environnement Python3 TensorFlow (Mac et pyenv virtualenv)
Créer un environnement python avec pyenv sur EC2 (ubuntu)
construction d'environnement python homebrew
construction de l'environnement pyenv + fish
Construction de l'environnement Python @ Win7
[Python] Construction de l'environnement Django (pyenv + pyenv-virtualenv + Anaconda) pour macOS
Rapport de construction d'environnement par python (matplotlib, pandas, sphinx) + wkhtmltopdf
[Ubuntu 18.04] Construction de l'environnement Tensorflow 2.0.0-GPU
Construction de l'environnement Python + Anaconda + Pycharm
À propos de la construction de l'environnement Linux (CentOS)
python (pyenv + pyenv-virtualenv) + installation CentOS7
Construction de l'environnement Anaconda sur CentOS7
Construction de l'environnement Python (Windows10 + Emacs)
Construction de l'environnement CI ~ Édition Python ~
Mettez Python 3.x dans Ubuntu
Créer un environnement python3 avec ubuntu 16.04
Construction de l'environnement Python pour Mac
Procédure de construction de l'environnement python Anaconda3
Construction de l'environnement Python3 (pour les débutants)
Construction d'environnement Python et TensorFlow
Construire un environnement Python sous un environnement Windows 7
[MEMO] [Construction de l'environnement de développement] Python
Construction de l'environnement Ubuntu14.04 + GPU + TensorFlow
Construction de l'environnement de python2 & 3 (OSX)
Comment mettre Pyenv sur Amazon Linux et Ubuntu pour créer un environnement Python 3.6.0
Construction de l'environnement Python sur Mac (pyenv, virtualenv, anaconda, notebook ipython)
Créer un environnement python avec pyenv (OS X El Capitan 10.11.3)
Construction d'environnement de python et opencv
Mémo de construction de l'environnement Python sur Windows 10
Commencez avec Python! ~ ① Construction de l'environnement ~
Configurer un environnement de développement Python sur Ubuntu
Construction de l'environnement Anaconda Python sous Windows 10
Mémo de construction de l'environnement Python sur Mac
[Python3] Construction de l'environnement de développement << Édition Windows >>
Configurer l'environnement Python sur CentOS
Créer un environnement python dans centos
Construire un environnement pour python3.8 sur Mac
De Ubuntu 20.04 introduction à la construction d'environnement
Construction de l'environnement Python3 TensorFlow pour Mac
Installer Python sur CentOS à l'aide de Pyenv
Utilisation de Chainer avec CentOS7 [Construction de l'environnement]
Mémo de construction de l'environnement de développement Emacs Python
Mémo de construction de l'environnement de développement Ubuntu Desktop 20.04
Construction de l'environnement pytorch @ python3.8 avec pipenv