FreeBSDのPython3.9をアンインストール(Python 3.11だけにする)

Python3.9が2025年10月にend-of-lifeになるので、アンインストールしてみたときの覚書。
既に Python 3.11はインストール済み。

環境: FreeBSD 14.2-RELEASE-p4, Python 3.9.23, Python 3.11.13


1. 依存関係を調査

Python 3.9に依存しているパッケージを確認。
# pkg info -r python39

python39-3.9.23:
        py39-sqlite3-3.9.23_10
        py39-setuptools-63.1.0_3
        py39-packaging-25.0
        py39-psycopg-pool-3.2.1
        py39-requests-2.32.2
        py39-charset-normalizer-3.3.2
        py39-urllib3-1.26.18,1
        py39-pysocks-1.7.1
        py39-psutil-5.9.8
        py39-clang-11.0
        py39-trio-0.25.0
        py39-importlib-metadata-7.1.0
        py39-pylsqpack-0.3.18
        py39-sortedcontainers-2.4.0
        py39-outcome-1.3.0_1
        py39-zipp-3.18.1
        py39-openssl-23.2.0,1
        py39-async_generator-1.10
        py39-httpcore-1.0.5
        py39-socksio-1.0.0
        py39-h2-4.1.0
        py39-certifi-2024.2.2
        py39-h11-0.14.0
        py39-cryptography-42.0.5_1,1
        py39-anyio-4.3.0
        py39-attrs-23.2.0
        py39-idna-3.7
        py39-sniffio-1.3.1
        py39-exceptiongroup-1.2.0
        py39-typing-extensions-4.11.0
        py39-cffi-1.16.0
        py39-hyperframe-6.0.0
        py39-hpack-4.0.0
        py39-pyasn1-0.6.0
        py39-pycparser-2.22

削除しても大丈夫な気がする。

google-cloud-sdkの依存関係を確認。
# pkg info -d google-cloud-sdk

google-cloud-sdk-527.0.0:
        python311-3.11.13
        py311-sqlite3-3.11.13_10


2. Python 3.9をアンインストール

仮想環境なのでスナップショットをとっておく。

アンインストールコマンド実行。
# pkg delete python39

関係ありそうなライブラリを確認して削除。
(/usr/local/lib/python3.9/はpip installしたモジュールの保存場所)
# ls /usr/local/lib/python3.9/

site-packages/easy-install.pthが残っていたけど、AIが削除してもいいというのでディレクトリごと削除。
# rm -rf /usr/local/lib/python3.9/

一応再起動
# reboot

システムエラーがないか確認
# less /var/log/messages


ついでにPython3.11のpipモジュールをアップデート。
# python3.11 -m pip list -o
# python3.11 -m pip install -U pip requests setuptools urllib3 psycopg certifi

「python3.11 -m pip list -o」の結果をAI(Gemini 2.5 Proを使用)に教えれば、アップデートコマンドを作ってくれる。
(パッケージの意味も教えてくれて便利)


3. google-cloud-sdkの設定変更

インストールしたときの環境変数を変更。
# less .bash_profile

export CLOUDSDK_PYTHON=python3.11

読み込んで確認。
# source .bash_profile
# gcloud info

ついでにアップデートする。
# gcloud components update

確認。
# gcloud info

今は環境変数は必要ないらしいので削除する。
# less .bash_profile

#export CLOUDSDK_PYTHON=python3.11

読み込んで確認。
# source .bash_profile
# unset CLOUDSDK_PYTHON
# printenv
# gcloud info



▼ 関連記事