ホーム >  Python >  CentOS7にPython3.7をインストール(ソースファイルからビルド)

投稿日:   |  最終更新日:

CentOS7にPython3.7をインストール(ソースファイルからビルド)

Python

CentOS7(Linux)にPython3をインストールし、利用可能にします。

CentOS7にPython3をインストールするには?

CentOSにPythonあるいはパッケージ全般をインストールには、以下の2つ方法があります。

  • yumコマンドでインストール
  • ソースファイルからビルドする(原始的な方法)

簡単かつ安全なため、なるべくyumでのインストールをおススメします。しかし、今回のPython3.7のように、最新バージョンがまだ主要リポジトリに置いていない場合もあります。

yumでインストールできません

yumでPython3.7がインストールできるか確認します。

①「IUS Community Project」が提供しているRPMをインストールします。

yum install -y https://centos7.iuscommunity.org/ius-release.rpm

②yumコマンドが「IUS Community Project」のリポジトリを参照できるようになりました。Python3.6がリポジトリにあるか確認します。

sudo yum search python36

読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cat.net
 * extras: mirrors.cat.net
 * updates: mirrors.cat.net
================================ 一致: python36 ================================
python36u.x86_64 : Interpreter of the Python programming language
python36u-devel.x86_64 : Libraries and header files needed for Python
                       : development
python36u-libs.x86_64 : Python runtime libraries
python36u-pip.noarch : A tool for installing and managing Python packages
python36u-setuptools.noarch : Easily build and distribute Python packages

③同様に、python3.7がリポジトリに存在するか確認します。

sudo yum search python37

読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cat.net
 * extras: mirrors.cat.net
 * updates: mirrors.cat.net
警告: 一致するものが見つかりません: python37

だめみたいですね。

2019年4月現在、Python3.7はソースファイルからビルドする方法でしかインストールできないようです。

準備

当サイトでは、Vagrantでゲスト環境(仮想環境)を作ってCentOS7+Python3.7を利用します。

環境

OS CentOS Linux release 7.6.1810 (Core)


Python3.7インストール準備

①yum のキャッシュをクリアし、アップデートを実施します。

sudo yum clean all
sudo yum -y update

②初期設定に必要なパッケージをまとめてインストールします。

sudo yum install zlib-devel libffi-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libuuid-devel xz-devel

Unix系OSにおいて、いくつかのPythonモジュールは外部のパッケージに依存していることがあります。OSが初期状態だと、sqlite3モジュールやtkinterモジュール等のいくつかのモジュールが利用できません。予め対応した外部パッケージをインストールする必要があります。

外部パッケージは、Pythonのビルドの前に必ずインストールして下さい。もし足りなければ、そのパッケージをインストールしてPythonを再インストールすることになります。

インストール

①ソースファイルをダウンロードします。

curl -O https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz

②解凍してディレクトリへ移動します。

tar xf Python-3.7.3.tgz
cd Python-3.7.3

③コンパイルしてインストールします。

./configure --enable-optimizations
make
sudo make altinstall

「make install」ではpython3バイナリを上書きまたはリンクを破壊してしまうかもしれません。そのため、「make install」の代わりに「exec_prefix/bin/pythonversion」のみインストールする「make altinstall」が推奨されています。

「./configure –enable-optimizations」は、「./configure –prefix=/opt/python3.7.3」のようにするとPythonのインストール先を変更できます。

※デフォルトでは「/usr/local」です。このパスを起点として、実行ファイル(コマンドとなるもの、python3.7やpip3.7)はbin以下に入ります。また、ライブラリ関連は「lib/python3.7」以下に入ります。

④設定ファイルを変更します。

sudo visudo

「/usr/bin」などにリンクを作成してもいいですが、今回はsudoパスに「/usr/local/bin」を追加します。以下のように書き換えます。

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

インストール確認

①バージョンを確認します。

python3 -V
Python 3.7.3

パスを確認します。

which python3
/usr/local/bin/python3


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告