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_10py39-setuptools-63.1.0_3py39-packaging-25.0py39-psycopg-pool-3.2.1py39-requests-2.32.2py39-charset-normalizer-3.3.2py39-urllib3-1.26.18,1py39-pysocks-1.7.1py39-psutil-5.9.8py39-clang-11.0py39-trio-0.25.0py39-importlib-metadata-7.1.0py39-pylsqpack-0.3.18py39-sortedcontainers-2.4.0py39-outcome-1.3.0_1py39-zipp-3.18.1py39-openssl-23.2.0,1py39-async_generator-1.10py39-httpcore-1.0.5py39-socksio-1.0.0py39-h2-4.1.0py39-certifi-2024.2.2py39-h11-0.14.0py39-cryptography-42.0.5_1,1py39-anyio-4.3.0py39-attrs-23.2.0py39-idna-3.7py39-sniffio-1.3.1py39-exceptiongroup-1.2.0py39-typing-extensions-4.11.0py39-cffi-1.16.0py39-hyperframe-6.0.0py39-hpack-4.0.0py39-pyasn1-0.6.0py39-pycparser-2.22
削除しても大丈夫な気がする。
google-cloud-sdkの依存関係を確認。
# pkg info -d google-cloud-sdk
google-cloud-sdk-527.0.0:python311-3.11.13py311-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