Pythonをアップデートした。
趣味でPythonで開発している私。
「そういえば、Pythonのアップデートってしていないな。やっぱり最新版のPythonにした方が「Pythonの最先端をいっているって感じがするよな」
Pythonの公式サイトからインストーラーをダウンロードしてバージョンアップした。私が使っているのが12で、最新は13だった。たぶん、13というのだからメジャーアップデートというやつだね。
バージョンアップ出来ているか確認する。
$ python3 --version
Python 3.13.3
最新のPythonを手に入れたぜ!
pip3 listの結果が真っ白に…
インストールしたライブラリを「pip3 list」で取得した。
$ pip3 list
>>Package Version
------- -------
pip 25.0.1
あれ? これまでインストールしたライブラリが出てこないぞ? ここまでpyinstallerだとか、fletだとか、beautifulsoup4だとか色んなライブラリを「pip3 install」してきたのに…
恐らく、Python12とPython13とでライブラリが入っているフォルダ的な何かが違うっぽいのだ。アプリフォルダをみるとPython12とPython13があるし。
VSCodeで過去に開発したファイルを開くと、インストールしたライブラリを使うコードに波線が引かれていた。「そんなものは定義されていないよ!」というタイプの注意喚起をされている。
またゼロからインストールし直さなければいけないのか? これまで一体いくつのライブラリをインストールしたのか覚えていない。これを全てやる必要があるということか?
ChatGPTに相談だ!
調べても出てこなかったのでChatGPTに相談をしてみたところ、「旧環境のライブラリをリスト化し、新環境にインストールする」ということがいいらしい。
旧環境のライブラリのリストを取得するコマンドを打ってみた。しかし、エラーになってしまった。
$ python12 -m pip install -r requirements.txt
>>zsh: command not found: python12
「Python12」のところがよくないっぽい、ちゃんと細かいバージョンまで書かないといけないらしい。
ChatGPTが再提案してくれたコマンドを打って中身を確認する。
$ ls /usr/local/bin | grep python
>>python3
python3-config
python3-intel64
python3.12
python3.12-config
python3.12-intel64
python3.13
python3.13-config
python3.13-intel64
python3.13t
python3.13t-config
python3.13t-intel64
python3t
python3t-config
python3t-intel64
この結果から、「python12」ではなく「Python3.12」でとるのが正解っぽいことが分かる。
$ python3.12 -m pip freeze > requirements.txt
このコマンドでようやく取得できた。requirements.txtはカレントディレクトリに出力された。
あとは、これをアップデートしたPython13に移すだけ。
$ python3.13 -m pip3 install -r requirements.txt
やってみたら、ライブラリのバージョンがPython13では対応していなかったり別の対応が必要だったりと、まぁまぁ面倒だった。1つでも不可だと、みんなズっこけるんですね。。。
これなら、最初から手動でインストールすればよかった。
1つ1つ対応するのは面倒になってきたので、結局、Python13を削除し、Python12に戻しましたとさ。ちゃんちゃん。