3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RHEL7でPython2系を更新する

Last updated at Posted at 2021-02-12

RHEL7(Red Hat Enterprise Linux 7)でPython2系をバージョンアップする方法について書いておきます。

注意点

Python2系は2020年1月1日でEOLを迎えており、Python2の最後のリリースは2020年4月20日のバージョンとなっています。
そのため、そもそもPython2のバージョンアップが必要な状況はほとんどないでしょう。

Python Release Python 2.7.18 | Python.org

また、RHELも8がリリースされていることから7を使う機会は少ないと思われます。

とはいえ、検証をおこなうために古いバージョンを使わないといけないこともあるでしょう、ということでおこなった作業と参考にした内容を書いておきます。

最後に、デフォルトでインストールされているPython2は弄らないようにします。
システムで使われているものなので、どのような影響が出るかわからないためです。

環境

  • RHEL7.7
  • Python2.7.5(デフォルトでインストール)

RHEL7で実行できたので、CentOS7でも実行できると思います。

手順

以下の記事を参考に進めます。

ひとまず、デフォルトのPythonのバージョンを確認します。
おそらく2.7.5だと思います。

$ python -V

必要パッケージのインストール

以下のコマンドで必要なパッケージをインストールします。

$ sudo yum install wget
$ sudo yum install gcc openssl-devel bzip2-devel

Python2.7.18の取得

yum install pythonでは2.7.5しかインストールできないので、Pythonのtgzファイルを取得します。先程インストールしたwgetをここで使います。
ダウンロードしたファイルを展開します。

$ wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
$ tar xzf Python-2.7.18.tgz

Python2.7.18のインストール

展開したフォルダに移動して、make altinstallをおこないます。
参考の記事にも書かれている通り、デフォルトでインストールされているPythonを弄らないように別の場所(この場合は/user/local/bin)にインストールします。

$ cd Python-2.7.18
$ ./configure --enable-optimizations
$ sudo make altinstall
$ sudo ln -s /usr/local/bin/python2.7 /usr/local/bin/python

確認

上のコマンドが完了したら、いったん確認します。Pythonがインストールできているか、そしてそのバージョンの確認です。
2.7.18と表示されるはずです。

$ /usr/local/bin/python -V

さらに、以下のコマンドを実行します。最初に確認したコマンドと同じです。このコマンドの結果は2.7.18ではない可能性があります。
先程インストールした/usr/local/bin/にPATHが通っていない、もしくは後になっていると考えられます。

$ python -V

現状のpythonコマンドの実行ファイルを確認してもよいかもしれません。
おそらくデフォルトの/usr/binとなっているでしょう。

$ which python

また、PATHを確認します。

$ echo $PATH

環境変数を管理している/etc/profileファイルを編集してPATHに追加します。
ファイル末尾に以下を追記するだけで問題ないと思います。

PATH=/usr/local/bin/:$PATH

Pythonのバージョンアップ自体はこれで完了です。
pipをインストールするのであれば以下の作業を続けます。

pipのインストール

参考にしてきたIBMのサイトでもpipのインストール方法が紹介されていますが、このままではインストールができません。
pipも現在はPython3に対応しており、取得したget-pip.pyがPython2系ではSyntaxErrorになってしまうためです。以下のコマンドで対応したバージョンのpipをインストールしましょう。

$ curl "https://bootstrap.pypa.io/2.7/get-pip.py" -o "get-pip.py"
$ sudo /usr/local/bin/python get-pip.py

必要であればシンボリックリンクを作成しておき、pipコマンドが使えるようにしておきます。

$ sudo ln -s /usr/local/bin/pip /usr/bin/pip

参考

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?