LoginSignup
66
70

More than 5 years have passed since last update.

pyenv + pyenv-virtualenv (CentOS7)

Last updated at Posted at 2015-11-15

概要

CentOSでのインストールについてまとめた。
OSXと差異は少ないが、前提となる環境が違うため整理した。

環境

次の環境で試している。

$ uname -r
3.10.0-229.14.1.el7.x86_64
$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.1.1503 (Core) 
Release:    7.1.1503
Codename:   Core

パッケージのインストール

CentOSで必要となるパッケージのインストール

yum -y install git
yum -y groupinstall "Development Tools"
yum -y install readline-devel zlib-devel bzip2-devel sqlite-devel openssl-devel

pyenv のインストール

git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
exec $SHELL -l

pyenv-virtualenv のインストール

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
exec $SHELL -l

基本的にはここまでで使えるようになる。

pyenv の使い方

インストール可能なディストリビューション、バージョンのリスト

pyenv install -l

インストール

使いたいバージョンのインストール

pyenv install 2.7.10
pyenv install 3.5.0

インストールしたバージョンのリスト

$ pyenv versions
* system (set by /home/saitou/.pyenv/version)
  2.7.10
  3.5.0

デフォルトで使用するバージョンの変更

システム側のPythonに変更を加えないようにする。
以下では、追加でインストールした2.7.10をユーザー環境のデフォルトに変更している。

pyenv global 2.7.10
pip install -U pip

システム側のPythonを使いたい場合は system を指定する。

$ python -V
Python 2.7.5
$ pyenv global 2.7.10
$ python -V
Python 2.7.10
$ pyenv global system
$ python -V
Python 2.7.5

pyenv + pyenv-virtualenv の使い方

pyenv virtualenv <複製元> <任意の複製名>

プロジェクト毎に違うバージョンを使い分けたい。
つぎのようにすると、特定ディレクトリを特定バージョンに割り当て、すみ分けて使うことができる。

$ pyenv virtualenv 3.5.0 new_env
$ mkdir -p work/new_project && work/new_project/
$ pyenv versions
* system (set by /home/saitou/.pyenv/version)
  2.7.10
  3.5.0
  new_env
$ pyenv local new_env
pyenv-virtualenv: activate new_env
$ python -V
Python 3.5.0
$ cd ..
pyenv-virtualenv: deactivate new_env
$ python -V
Python 2.7.5
$ cd new_project/
pyenv-virtualenv: activate new_env
$ python -V
Python 3.5.0

3.5.0を元に新規にnew_envという名前で、新たな環境の複製を行っている。システム側のPythonはもとより、複製元の環境にも変更は加えないため、違うモジュールを試すことができる。

66
70
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
66
70