今回はCentOSにpyenvをインストールする方法をご紹介します。
pyenvをインストールした環境
ローカルの開発環境として、vagrantを使用。仮想環境の中にCentOSをインストール済み。
gitがインストール済み。
仮想環境を立ち上げて、vagrnatt sshで接続。
pythonのバージョン管理ツールpyenvをクローン
まずはpyenvのgitをクローンします。$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ cd
$ vim .bash_profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
コンパイルに必要なパッケージをインストール
Pythonのコンパイルに必要なパッケージをインストールを先にインストールします。CentOS7にインストールする場合
$ 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
githubのwiki
pyenvをインストール
pyenvでインストールするPythonのバージョンを確認します。※今回は3.6.4をインストール。
$ pyenv install --list
$ pyenv install 3.6.4
$ pyenv install 3.6.4
Downloading Python-3.6.4.tar.xz...
-> https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
Installing Python-3.6.4...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems
BUILD FAILED (CentOS 7.4.1708 using python-build 1.2.2-14-gb95d0d9)
・
・
・
詳しくは、wikiを見てって言われてたのwikiを確認。
$ yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel
$ pyenv install 3.6.4
Downloading Python-3.6.4.tar.xz...
-> https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
Installing Python-3.6.4...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems
BUILD FAILED (CentOS 7.4.1708 using python-build 1.2.2-14-gb95d0d9)
・
・
・
もう一度wikiで確認。
macOSへの設定をする以下のコマンドを試しに入力したらパッケージがインストールされたっぽい。
$ brew install readline openssl xz
$ pyenv install 3.6.4
Downloading Python-3.6.4.tar.xz...
-> https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
Installing Python-3.6.4...
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems
BUILD FAILED (CentOS 7.4.1708 using python-build 1.2.2-14-gb95d0d9)
・
・
・
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
「ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?」の箇所があるので、そのまま実行。
CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install -v 3.6.4
$ brew uninstall openssl
$ brew install openssl
$ pyenv versions
3.6.4
Pythonのバージョンを設定
$ pyenv global 3.6.4
$ pyenv rehash
$ pyenv versions