CentOS6 に pyenv + virtualenv で Python3 環境を作る

とりあえず古い環境に環境作って開発始めなきゃいけない時用,minimal環境から作成したときのメモ。

1.virtualenv , pyenvとは

python2(yumとかpythonで動きます)が使用されているシステムにpython3をいれたいけど、既存環境に影響を与えたくない時に便利な方法。CentOS6にソースからpython3をいれたこともありましたが、今回紹介する方法のほうが圧倒的に楽ができた。それぞれ以下の目的で使用する。

  • Virtualenv(pyenv-virtualenv)
    • http://github.com/yyuu/pyenv-virtualenv.git
    • 隔離されたpython仮想環境を提供する,切り出す。
    • プロジェクトごとにインストールされているパッケージを管理したい場合に有用
    • 今回はpyenvのモジュールとして提供されているpyenv-virtualenvを使用。
  • pyenv

2.インストール

■準備

環境はCentOS6,開発に使用するユーザで作業

$ sudo yum install patch gcc readline readline-devel sqlite sqlite-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 install

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

//ログイン時に設定,initを実行するように設定しておく(追記)
------------------------
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
 export PATH=${PYENV_ROOT}/bin:$PATH
 eval "$(pyenv init -)"
fi
------------------------

$ source ~/.bashrc

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

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

//install可能なPythonをリスト表示
$ pyenv install --list

//virtualenv installインストール
$ cd ~/.pyenv/plugins
$ git clone http://github.com/yyuu/pyenv-virtualenv.git

//versionを指定してインストール、環境作成
$ pyenv install 3.5.2
$ pyenv virtualenv 3.5.2 rr_virtualenv

//テストAPP用ディレクトリ作成
$ mkdir APP_TEST

//installされているバージョン、現環境を表示する。
$ pyenv versions
* system (set by /home/tagutagu/.pyenv/version)
 3.5.2
 3.5.2/envs/rr_virtualenv
 rr_virtualenv
//インストールしたバージョンを指定して環境をカレントディレクトリに適用
$ pyenv local rr_virtualenv

//適用されているかチェック
$ pyenv versions
 system (set by /home1/tagutagu/.pyenv/version)
 3.5.2
*  3.5.2/envs/rr_virtualenv
 rr_virtualenv

$ python --version
Python 3.5.2
 
以上

Copyright © 2021 たぐたぐ.com. All rights reserved.