CentOS7 pyenvを利用したpython環境構築


CentOS6系と大差ないけど。

前提

CentOS7がインストールしたて。

 

CentOS7 アップデートと開発ツールをインストール

アップデートと最低限必要と思われる開発ツールをインストール。

# yum update -y
 .............
# sudo yum groupinstall "Development Tools"
 .............
# yum install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel

 

pyenvとpyenv-virtualenv をインストール

pyenvと、使うかわからないけどとりあえずpyenv-virtualenvをインストール。

まずgithubからpyenvをcloneしてくる。

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

次に /etc/profile.d にpyenvの環境変数を定義しておく。

# vi /etc/profile.d/pyenv.sh
export PYENV_ROOT="/usr/local/pyenv"
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init -)"

シェルを再度起動し直し、環境変数を読み込む

exec $SHELL -l

 

pyenvからpythonをインストール

pyenvでインストールできるpythonのバージョンを確認。

# pyenv install --list

Available versions:
  2.1.3
.............
  2.7.9
  2.7.10
.............
  3.4.1
  3.4.2
  3.4.3
.............
  stackless-3.4.1

今回は特にバージョンにこだわりが無いため、3.4.3をインストール。
「pyenv versions」で確認できる。

pyenv install 3.4.3
pyenv versions
  system
* 3.4.3 (set by /home/centos/.python-version)

利用するpythonのバージョンの指定方法は、自分だけを指定する「local」とシステムユーザー全体を指定する「global」の2種類ある。「local」に関しては、一般ユーザーが自分で指定することができる。

# pyenv local 3.4.3
# pyenv global 3.4.3

 

一応pyenv-virtualenv の使い方

一般ユーザーでpyenv環境を作った時であればpyenv-virtualenvでも仮想環境を気軽に作りやすい。
ただ管理者がpyenvを構築した場合は、管理者権限がないとpyenv-virtualenvで仮想環境を構築できないというデメリットがある。

それを踏まえてpyenv-virtualenv の使い方を簡単に紹介。

まず仮想環境の作り方。
「superproject」という仮想環境を構築する。
「pyenv versions」で仮想環境が構築されたかを確認できる。

# pyenv virtualenv 3.4.3 superproject
Ignoring indexes: https://pypi.python.org/simple
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/pyenv/versions/superproject/lib/python3.4/site-packages
Requirement already satisfied (use --upgrade to upgrade): pip in /usr/local/pyenv/versions/superproject/lib/python3.4/site-packages

# pyenv versions
* system (set by /usr/local/pyenv/version)
  3.4.3
  superproject

利用方法は pyenvでバージョンをしていするのと同じように指定できる。

pyenv local superproject

仮想環境を壊したい場合には、uninstallオプションを利用する。

# pyenv uninstall superproject
pyenv: remove /usr/local/pyenv/versions/superproject? y
# pyenv versions
  system
* 3.4.3 (set by /usr/local/pyenv/version)

 

一般ユーザーでの利用方法

一般ユーザーでの利用方法は上で紹介したのと同様に「local」でバージョン指定が行える。
一度指定すると、最ログインした際もバージョン指定が有効になっている。

$ pyenv local 3.4.3
$ python --version
Python 3.4.3

ちなみに python3.3以降では「virtualenv」ではなく「venv」が標準モジュールとなっているため、「venv」を利用することができる。virtualenvと同様に、deactiveで仮想環境から脱出できる。

$ pyvenv project
$ ls
project
$ source project/bin/activate
(project) $ python --version
Python 3.4.3
(project) $ deactivate
$

今後、NginxとPythonの組み合わせを紹介予定。

Follow me!

CentOS7 pyenvを利用したpython環境構築” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です