【要約】Python開発の勉強(2) CentOS7へPython3のインストール [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がCentOS 7上でPython 3を利用しようとする際、OSの仕様に起因する制約に直面する。標準リポジトリにはPython 2しか存在せず、安易な更新はシステムを破壊する恐れがある。
- ・リポジトリの不足:標準リポジトリではPython 3が提供されていない。
- ・システム依存性:yum等の管理ツールがPython 2に依存している。
- ・破壊的変更のリスク:Python 3をデフォルトのpythonコマンドに設定すると、OSが正常に動作しなくなる。
// Approach
開発者は、OSの整合性を維持しながらPython 3を導入するため、外部リポジトリであるIUSを利用する手法を採用した。以下のステップで環境を構築する。
- ・リポジトリの追加:IUSリポジトリを導入し、必要に応じてEPELも追加する。
- ・パッケージの選定:IUS提供のpython36u、python36u-devel、python36u-pipをインストールする。
- ・共存の徹底:コマンド名をpython3.6として区別し、既存のpythonコマンドを書き換えない。
// Result
作業の結果、開発者はCentOS 7のシステム機能を損なうことなく、Python 3.6.8の実行環境を手に入れた。これにより、以下の状態が実現した。
- ・環境の確立:python3.6 --versionにより、正常な動作を確認した。
- ・開発準備の完了:pipを含む開発用パッケージが揃い、ライブラリ導入が可能になった。
- ・安全性の確保:Python 2との共存により、OS管理ツールの安定性を維持した。
Senior Engineer Insight
> 本手法はレガシー環境の保守における定石だが、現代の現場では推奨しない。Python 3.6およびCentOS 7は共にEOLを迎えており、脆弱性への対応が不可能だ。実戦では、OSの依存関係に縛られないよう、Docker等のコンテナ技術を用いて最新のランタイム環境を隔離して構築すべきである。本記事は、古い環境を扱う際の「共存」の重要性を学ぶ教材としては価値がある。