Linuxでpythonをビルドしてインストールし管理する方法(pyenvがおすすめ)

Linuxでpythonをビルドしてインストールし管理する方法(pyenvがおすすめ) プログラミング
困ったさん
困ったさん
自分の使用しているLinuxの環境に好きなpythonのバージョンをインストールしたいけどどうすれば??

こんな疑問を解決します。

この記事を書いてる人

FUMIPEN blogを運営
本記事の内容

  • Linuxディストリビューション毎のpythonインストール方法
  • Debian系のpythonのインストール方法
  • RedHat系のpythonのインストール方法
  • どちらでも使用できる奥義pyenvについて
  • これからのpythonの仮想環境を作成したい方

本記事では「使用しているディストリビューション毎のpythonのダウンロード方法と設定方法」について解説

この記事を読むことで、pythonで自由に設定を行うことができるようになります。

結論から話すと、

結論

  • Linuxディストリビューションの種類は/etc下のファイルを確認
  • Debian系はapt-getでpythonをインストール
  • CentOS系はyumでpythonをインストール
  • pyenvを用いてpythonバージョン管理
  • pythonの公式ストアからビルドしてインストール
  • 今後pythonの仮想環境を持つならvenvやvirtualevnを使用して環境構築

自分の使用しているLinuxディストリビューション確認

Linuxにpythonをダウンロードする際にはまず自分がどのようなバージョンを使っているかを調べます。

大きく分けて2種類があります。

  • CentOS系
  • Debian系

一つづつ解説します。

CentOS系のバージョンの確認方法

 cat /etc/redhat-release

これで何かしらのパッケージが出たらあなたはCentOS系のディストリビューションを使用してます。

Debian系のバージョンの確認方法

 cat /etc/debian-version

同じように何かしらバージョンが出たらDebian系を使用してると言えます。

pythonをインストールするために必要なもの

バージョンを確認したらもうインストールできるの??
困ったさん
困ったさん
ふみペン
ふみペン
いや!ここからpythonに必要なパッケージのインストールを行うよ!

Debian系とCentOS系でpythonダウンロードに必要なパッケージは違うから注意してください。

CentOS系の追加パッケージのインストール方法

# gitが入ってない場合はいれる
yum -y install git

#Pythonインストール時に必要となるモジュール
yum -y install make gcc
yum -y install zlib-devel bzip2 bzip2-devel readline-devel splite splite-devel
yum -y install openssl-devel

これらのパッケージをインストールすれば大丈夫です。

Debian系の追加パッケージのインストール方法

sudo apt install wget build-essential libreadline-gplv2-dev libncursesw5-dev
sudo apt install libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev 
sudo apt install libffi-dev zlib1g-dev

引用:Ubuntu、Debian、LinuxMintにPython3.9をインストールする方法

これらをインストールすればいいです。

pythonのインストール方法

pythonのインストールの前段階が終わりました。それではダウンロードしていきましょう。

方法は以下の4つです。

pythonダウンロード方法

  • CentOSはyumコマンド
  • Debianはapt-getコマンド
  • pyenvを用いてインストール
  • pythonの公式ストアからビルドしてインストール

一つづつ解説します。

CentOSはyumコマンドでダウンロード

 yum install -y python35u python35u-libs python35u-devel python35u-pip

これは例としてpython3.5をダウンロードしています。

自分の好きなバージョンは数字を変えることでダウンロードできます。

Debianはapt-getコマンドでダウンロード

sudo apt-get install python3

python3をダウンロードすることができます。

 pyenvを用いてpythonをインストール(bashの場合)

まずはpyenvが入っているのかどうかをバージョンを確認しましょう。

 pyenv --version

もしこれで入っていない場合には、まずはpyenvをダウンロードします。

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

続いてpyenvのパスを通します。

 echo 'export PYENV_ROOT="$HOME/.pyenv"'>>~/.bash_profile
 echo 'export PATH="$PYENV_ROOT/bin:$PATH"'>>~/.bash_profile
 echo 'eval "$(pyenv init --path)"'>>~/.bash_profile

パスを通し終わったらbash_profileを読むこみます。

 source ~/.bash_profile

本当にpyenvをダウンロードできたかバージョンを確認します。

 pyenv --version
注意

もしあなたのシェルがzshならzsh_profileに書き込んでください

この辺りはbashrcやbash_profileの読み込むタイミングや順番まとめで読むこむシェルを詳しく解説しています。

pyenvでpythonをインストール

 pyenv install 2.7.16

ここでは例えで2.7.16をダウンロードして見ます。

pyenvってどんなpythonのバージョンもダウンロードできるの??
困ったさん
困ったさん
ふみペン
ふみペン
pyenv install -l コマンドで確認できるよ!
pyenv python バージョン

こんな感じで出てくるので、自分の好きなバージョンをダウンロードして見てください。

pythonの公式からビルドしてインストール

python 公式

(引用:python 公式サイト)

pythonの公式サイトから

python 公式 インストール

好きなものダウンロードしてください。

今回は例としてpython3.9.7をダウンロードしてみようと思います。

クリックして下にスクロールしていきます。

python 環境構築

このようにクリックしてダウンロードします。

tar xJf ダウロードしたファイル名 で解凍してファイルに入る

python 環境構築

そしたらここからが本番です。

pythonをビルドしてインストールする

手順としては以下のとおりです。

pythonをビルドしてインストールする方法

  • ./configure
  • make
  • make install

たったこれだけです。

え??このコマンドだけでpythonを使えるようになるの??
困ったさん
困ったさん

そうです。まずは一つ目から。

python make configure

続いて、makeを行い、最後にmake installです。

python 環境構築

ただ、ここで2つ注意があります。

  • 管理者権限でないと今の方法はビルドできない
  • それでもインストールしたいならビルドしたいディレクトリの絶対パスを指定

まず、./cofigure でビルド先をしてしなければ管理者権限でしか変更が許されない場所にビルドされます。

ふみペン
ふみペン
つまり会社のパソコンなど管理者になれないとビルドできないよ

なので、

 ./configure --prefix=自分がビルドさせたいディレクトリの絶対パス

ここで二つ目の注意の絶対パスで自分の指定したディレクトリに読み込ませましょう。

ふみペン
ふみペン
後のやり方は先ほどと同じようにmakeしてmake installだね!

今後pythonの仮想環境を作成するpyenvやvenv,virtualenvを使用

さてこれまでの流れをまとめますと、pythonの環境を構築するためには

python環境構築方法

  • Debian系はapt-getでpythonをインストール
  • CentOS系はyumでpythonをインストール
  • pyenvを用いてpythonをインストールしてバージョン管理
  • python公式ストアからビルドしてインストール

でした。そしてここから避けては通れないものの一つがpythonの仮想環境の構築だと思います。

これらはpython2系,3系で仮想環境を手軽に構築する方法(virtualenvとvenvを利用)で解説しています。

是非参考にしていただけたらと思います。

最後まで見ていただきありがとうございました