外部とのインターネット接続のないCentOS7.7にPython3.6.8を導入した。

 

インターネット接続があれば

yum install python3

とかで入るのだろう。(違うバージョンが入るかもだけど)

 

仮になくてもrpmパッケージをサーバにアップし、必要なパッケージを依存性の根元の方から順次

rpm -ihv [rpmパッケージ]

で入れれば何とかなった。

 

しかし、python3は手強かった。相互に相手に依存しているのだ。

python3-3.6.8-10.el7.x86_64は

   python3-libs-3.6.8-10.el7.x86_64
   python3-setuptools-39.2.0-10.el7.noarch
   python3-pip-9.0.3-5.el7.noarch

の3つが導入されていないとダメ(依存している)であった。

 

ではその3つを先に入れればいいかというとそうでも無く、すべて python3-3.6.8-10.el7.x86_64 に依存している。

なんだこりゃ?

 

ダメ元で次のようにすれば導入できた。

・必要なパッケージをサーバにアップする。ディレクトリは /tmp を使った。

 python3-3.6.8-10.el7.x86_64

  python3-libs-3.6.8-10.el7.x86_64
  python3-setuptools-39.2.0-10.el7.noarch
  python3-pip-9.0.3-5.el7.noarch

・/tmpに移動し、su でroot権限者になるか、または sudo を付けて以下のコマンドを実施する。

 (実施した環境ではsudo禁止なので、suを使用)

yum localinstall python3-3.6.8-10.el7.x86_64.rpm  python3-libs-3.6.8-10.el7.x86_64.rpm python3-pip-9.0.3-5.el7.noarch.rpm python3-setuptools-39.2.0-10.el7.noarch.rpm

要はyum localinstall の後に必要なパッケージを列挙しただけである。いままでちまちまと依存関係を気にしてインストールしていたのが馬鹿らしくなる。

ちなみに

yum localinstall python3-3.6.8-10.el7.x86_64.rpm

だけでは、依存パッケージを外部に求めるためエラーになったことも付け加えておく。