てくなべ (tekunabe)

ansible / network automation / 学習メモ

Red Hat Enterprise Linux 9.0 の Python 環境を少し探ってみた

はじめに

Red Hat Enterprise Linux 9.0 を、GUIでない方のサーバーとしてインストールしました。

[2022/05/19追記] Red Hat Enterprise Linux 9.0 正式版がリリースされたため、ベータだった箇所を正式版で確認した内容に更新しました。

Python 周りがどうのようになっているのか、試しながら調べてみました。あくまで私の環境で調べたという状態なので、お手元と異なるかもしれません。

python コマンドが使える

RHEL 8 系では、デフォルトで python コマンドが使えませんでしたが、使えました。

[admin@rhel90test ~]$ cat /etc/redhat-release 
Red Hat Enterprise Linux release 9.0 (Plow)
[admin@rhel90test ~]$ 
[admin@rhel90test ~]$ python --version
Python 3.9.10
[admin@rhel90test ~]$ 
[admin@rhel90test ~]$ which python
/usr/bin/python

/usr/bin/python3.9 へのシンボリックリンク

python* 系コマンドの関係は以下の通り

[admin@rhel90test ~]$ ls -al /usr/bin/python*
lrwxrwxrwx. 1 root root     9  211 22:59 /usr/bin/python -> ./python3
lrwxrwxrwx. 1 root root     9  211 22:51 /usr/bin/python3 -> python3.9
-rwxr-xr-x. 1 root root 16040  211 22:51 /usr/bin/python3.9

ドキュメントには

実稼働環境では、python3 または python3.9 を明示的に使用することが推奨されます。

とあります。

pip コマンドは利用不可

[admin@rhel90test ~]$ which pip
/usr/bin/which: no pip in (/home/admin/.local/bin:/home/admin/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
[admin@rhel90test ~]$ 
[admin@rhel90test ~]$ 
[admin@rhel90test ~]$ pip
-bash: pip: コマンドが見つかりません
[admin@rhel90test ~]$ 
[admin@rhel90test ~]$ 
[admin@rhel90test ~]$ 
[admin@rhel90test ~]$ pip3
-bash: pip3: コマンドが見つかりません

ドキュメントには、

バージョンを指定しないコマンド (python3-pip パッケージの /usr/bin/pip など) がいくつか利用できます。

とあります。

venv 内では利用可能でした。

[admin@rhel90test ~]$ python -m venv .venv
[admin@rhel90test ~]$ source .venv/bin/activate
(.venv) [admin@rhel90test ~]$ pi
pic         pidwait     pigz        ping        pinky       pip3        pivot_root  
pidof       pifconfig   pinfo       ping6       pip         pip3.9      
(.venv) [admin@rhel90test ~]$ pip    # tab
pip     pip3    pip3.9  
(.venv) [admin@rhel90test ~]$ python    # tab
python     python3    python3.9  

/usr/libexec/platform-python は健在

RHEL 8 からあった、/usr/libexec/platform-python はありました。/usr/bin/python3.9 へのシンボリックリンクです。

(.venv) [admin@rhel90test ~]$ ls -al /usr/libexec/platform-python
lrwxrwxrwx. 1 root root 18  211 22:51 /usr/libexec/platform-python -> /usr/bin/python3.9

dnf list --installed の結果

dnf list --installedgrep -i python した結果は以下のとおりです。前述の通りGUIでない方のサーバーとしてインストールした環境です。

libcap-ng-python3.x86_64                      0.8.2-7.el9                    @AppStream
policycoreutils-python-utils.noarch           3.3-6.el9_0                    @AppStream
python-unversioned-command.noarch             3.9.10-2.el9                   @AppStream
python3.x86_64                                3.9.10-2.el9                   @anaconda 
python3-audit.x86_64                          3.0.7-101.el9_0.2              @AppStream
python3-chardet.noarch                        4.0.0-5.el9                    @anaconda 
python3-cloud-what.x86_64                     1.29.26-3.el9_0                @anaconda 
python3-dasbus.noarch                         1.4-5.el9                      @AppStream
python3-dateutil.noarch                       1:2.8.1-6.el9                  @anaconda 
python3-dbus.x86_64                           1.2.18-2.el9                   @anaconda 
python3-decorator.noarch                      4.4.2-6.el9                    @anaconda 
python3-dmidecode.x86_64                      3.12.2-27.el9                  @anaconda 
python3-dnf.noarch                            4.10.0-5.el9_0                 @anaconda 
python3-dnf-plugins-core.noarch               4.0.24-4.el9_0                 @anaconda 
python3-ethtool.x86_64                        0.15-2.el9                     @anaconda 
python3-file-magic.noarch                     5.39-8.el9                     @AppStream
python3-firewall.noarch                       1.0.0-4.el9                    @anaconda 
python3-gobject-base.x86_64                   3.40.1-5.el9                   @anaconda 
python3-gpg.x86_64                            1.15.1-6.el9                   @anaconda 
python3-hawkey.x86_64                         0.65.0-5.el9_0                 @anaconda 
python3-idna.noarch                           2.10-7.el9                     @anaconda 
python3-iniparse.noarch                       0.4-45.el9                     @anaconda 
python3-inotify.noarch                        0.9.6-25.el9                   @anaconda 
python3-libcomps.x86_64                       0.1.18-1.el9                   @anaconda 
python3-libdnf.x86_64                         0.65.0-5.el9_0                 @anaconda 
python3-librepo.x86_64                        1.14.2-1.el9                   @anaconda 
python3-libs.x86_64                           3.9.10-2.el9                   @anaconda 
python3-libselinux.x86_64                     3.3-2.el9                      @AppStream
python3-libsemanage.x86_64                    3.3-2.el9                      @AppStream
python3-libstoragemgmt.x86_64                 1.9.3-1.el9                    @AppStream
python3-libxml2.x86_64                        2.9.13-1.el9                   @anaconda 
python3-lxml.x86_64                           4.6.5-2.el9                    @AppStream
python3-nftables.x86_64                       1:0.9.8-12.el9                 @anaconda 
python3-pexpect.noarch                        4.8.0-7.el9                    @anaconda 
python3-pip-wheel.noarch                      21.2.3-6.el9                   @anaconda 
python3-policycoreutils.noarch                3.3-6.el9_0                    @AppStream
python3-psutil.x86_64                         5.8.0-12.el9                   @AppStream
python3-ptyprocess.noarch                     0.6.0-12.el9                   @anaconda 
python3-pysocks.noarch                        1.7.1-12.el9                   @anaconda 
python3-pyyaml.x86_64                         5.4.1-6.el9                    @anaconda 
python3-requests.noarch                       2.25.1-6.el9                   @anaconda 
python3-rpm.x86_64                            4.16.1.3-12.el9_0              @anaconda 
python3-setools.x86_64                        4.4.0-4.el9                    @anaconda 
python3-setuptools.noarch                     53.0.0-10.el9                  @anaconda 
python3-setuptools-wheel.noarch               53.0.0-10.el9                  @anaconda 
python3-six.noarch                            1.15.0-9.el9                   @anaconda 
python3-subscription-manager-rhsm.x86_64      1.29.26-3.el9_0                @anaconda 
python3-systemd.x86_64                        234-18.el9                     @anaconda 
python3-tracer.noarch                         0.7.5-4.el9                    @AppStream
python3-urllib3.noarch                        1.26.5-3.el9                   @anaconda 
(.venv) [admin@rhel90test ~]$ 

参考

RHEL 9.0 日本語版ドキュメント

access.redhat.com

ベータ時代

rheb.hatenablog.com

www.redhat.com

access.redhat.com

access.redhat.com

Python in RHEL 9

access.redhat.com