Note to Self

公開する緊張感で、読み返した時に??にならない自分用メモです

CentOS6でpython3を利用する方法

CentOS6は、yumがpython2で動くので、システムにpython3を入れると、既存環境に影響を与える可能性がある。ので、仮想環境を構築することで実現する。



python3環境構築

・pyenv    pythonの複数バージョンをインストールして切り替えることが可能

・virtualenv 隔離されたpython仮想環境を提供



■依存パッケージのインストール 

調べてみると事前にインストールが必要なものがある。という説明が多かったが、既にインストール済みのものばかりだったので、エラーが出た時は、依存パッケージが必要ということを忘れないために残しておく。

 

$ yum install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel bzip2 sqlite zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel

 

SQLiteとreadlineはいってないと、インストール時に怒られる

WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?

WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?

 

 

■pyenvのインストール *個人的に使いたかったので ~/ 配下にインストール

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

$ vi ~/.bashrc

 -----------------------------------------------------

全ユーザで共有するときは、下記にインストールする。

$ git clone git://github.com/yyuu/pyenv.git /usr/local/pyenv

$ cd /usr/local/pyenv

$ mkdir {versions,shims}

-----------------------------------------------------

 

■ログイン時に設定,initを実行するように設定しておく

 

------------------------

export PYENV_ROOT="${HOME}/.pyenv"

if [ -d "${PYENV_ROOT}" ]; then

 export PATH=${PYENV_ROOT}/bin:$PATH

 eval "$(pyenv init -)"

fi

------------------------

 

$ source ~/.bashrc

$ cd plugins/

$ git clone git://github.com/yyuu/pyenv-virtualenv.git   *パッケージの仮想環境を構築するプラグイン

$ git clone git://github.com/yyuu/pyenv-update.git       *Pyenv自体をアップデートするプラグイン

 



■virtualenv install , ディレクトリに仮想環境作成

$ cd ~/.pyenv/plugins

$ git clone http://github.com/yyuu/pyenv-virtualenv.git

 

□install可能なPythonをリスト表示

$ pyenv install --list

 

□新しいバージョンが見つからない時はPyenvをアップデートする

$ sudo pyenv update

 

□virtualenv installインストール

$ cd ~/.pyenv/plugins

$ git clone http://github.com/yyuu/pyenv-virtualenv.git

 

□versionを指定してインストール、環境作成

 *CentOS6.10では最新のpythonはインストール出来なかった。

$ pyenv install 3.6.13

$ pyenv virtualenv 3.6.13 rr_virtualenv

 

□installされているバージョン、現環境を表示する。

$ pyenv versions

* system (set by /home/tagutagu/.pyenv/version)

 3.6.13

 3.6.13/envs/rr_virtualenv

 rr_virtualenv

 

□インストールしたバージョンを指定して環境をカレントディレクトリに適用

$ pyenv local rr_virtualenv

 

□適用されているかチェック

$ pyenv versions

 system (set by /home1/tagutagu/.pyenv/version)

 3.0.1

*  3.6.13/envs/rr_virtualenv

 rr_virtualenv

 

$ python --version