【Python】CentOSにpyenvをインストールする方法

【Python】CentOSにpyenvをインストールする方法

こんにちは、nishi_talk(@nishi_talk)です。
今回はCentOSにpyenvをインストールする方法をご紹介します。



pyenvをインストールした環境

ローカルの開発環境として、vagrantを使用。
仮想環境の中にCentOSをインストール済み。
gitがインストール済み。
仮想環境を立ち上げて、vagrnatt sshで接続。

pythonのバージョン管理ツールpyenvを

まずはpyenvのgitをクローンします。

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

ディレクトリを移動をして、.bash_profileにPAHTを通します。

$ cd
$ vim .bash_profile

vimが開いたら、以下の記述を追加。

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

記述したら、:wqでvimを終了。



コンパイルに必要なパッケージをインストール

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

詳細の設定やその他設定は以下のwikiを参考にします。
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)
・
・
・

なにやら、bzip2readlineOpenSSLが無いよー的なエラーっぽい。
詳しくは、wikiを見てって言われてたのwikiを確認。

$ yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel

インストール完了したら、再度Pythonをインストール。

$ 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

再再度Pythonをインストール。

$ 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?

再度wikiで確認。
「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

バージョンが表示されたらOK。



Pythonのバージョンを設定

$ pyenv global 3.6.4
$ pyenv rehash
$ pyenv versions

今回インストールした、3.6.4に*がついてれば設定完了です。

未経験からでもエンジニアにはなれる!

中堅の年代になり、最近よくどうやってエンジニアになったんですか?と聞かれる機会が多くなりました。私は転職組で未経験からエンジニアになりました。 そこら辺のストーリーは「未経験からWebデザイナーになった経緯を紹介」で書いているのでそちらをご覧ください。

当時はWebの技術を教えてくれるスクールがあまりなく、私はWebの勉強は独学で勉強し転職したのですが、今はスクールの数も多くなっていてオンラインで受講できるところも増えてきました。

もし私が未経験でエンジニアを目指すなら活用したいスクールを紹介してますので興味ある方はぜひ参考にしてくだいさい!

tech boostオンライン

tech boostはエンジニアに特化したキャリアサービスを展開しているBranding Engineerが運営するオンラインプログラミングスクールです。

エンジニアに特化したキャリアサービスを展開しているからこそのカリキュラムを実現しています。 また、転職サポート付きでスクール卒業後もキャリアも安心です。

オンラインスクールだからいつでもどこでも受講可能!これからプログラミングを学びたい方、エンジニアにキャリアチェンジを考えている方に、 特にオススメのサービスです。

初めてプログラミングを学ぶなら「tech boostオンライン」

CodeCamp(コードキャンプ)

オンライン・マンツーマン指導のプログラミングスクールとしてNo.1*の実績を持つサービスです。高い学習効果が評価されテレビや新聞、ビジネス誌など*多くのメディアで紹介されています。

講師は全て現役のエンジニア。未経験から確実に習得するために開発されたオリジナルカリキュラムでWebデザイン、Webサービス開発、アプリ開発などを幅広く学習することができます。

多くの受講生が、現役エンジニアの手厚いマンツーマン指導によって確実にプログラミングを習得し、キャリアアップ・転職・独立起業などの目標を実現しています。

プログラミングのオンラインスクールのCodeCamp

DMM WEBCAMP

転職を本気で考えている方向けのプログラミングスクールです。転職を保証しているため、未経験からIT業界へ転職を求めている方へおすすめです!

プログラミング未経験者でも安心のサポート体制をご用意しており、特に受講者アンケートでは『サポート体制がしっかりしていて魅力的』、『転職を保証していただいていることで安心』というレビーが多くしっかとしたサポートを提供しています。

実務に近い実践的なカリキュラムで、DMM WEBCAMPはチーム開発など、実務により近い実践的カリキュラムを導入しているため、転職先・就職後にいち早く活躍できるスキル・経験を積むことができます。

受講者満足度90%以上のプログラミングスクール【DMM WEBCAMP】

Udemy

私の周りの現役のエンジニアの人も活用しています。基礎をしっかり固めたい方や、実践向けの配信など幅広く解説している動画が豊富にアップされているので活用するのはオススメです。

習得したいスキル(プログラム言語)が明確で、年収アップのために学習している方やAI・機械学習を学んでスキルアップを目指しているエンジニアの方に支持されているます。

1講座あたり数千~数万円程度で実践的なスキルアップを経済的でオススメです。

【Web開発初心者向け!】Web開発入門完全攻略 充実の18時間コース