これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2026/09/02 22:54:56.912 (台灣標準時)
/etc/mk.conf で PYTHON_VERSION_DEFAULT=314 とし ているにもかかわらず、 /usr/pkg/bin/python3 が python3.13 を指し示していて何故でござろうと思っていたでござ る。 Python のスクリプトの先頭を #!/usr/bin/env python3 と しておくと、 python3.13 が実行されてしまい、外部モジュール が使えない、という問題が生じたので、どうなっているのか調べてみたでござ る。
わかったのは、 pkg_alternatives によるものだった、というこ とでござった。
注意が必要な点は、以下のようにしてはいけない、ということでござった。
# pkg_alternatives status python3.14 pkg_alternatives: the package `python3.14' is not known
以下のようにする必要があるとわかったでござる。
# pkg_alternatives status python314 `bin/idle' points to `/usr/pkg/bin/idle3.13' candidate: /usr/pkg/bin/idle3.12 candidate: /usr/pkg/bin/idle3.13 candidate: /usr/pkg/bin/idle3.14 `bin/pydoc' points to `/usr/pkg/bin/pydoc3.13' candidate: /usr/pkg/bin/pydoc2.7 candidate: /usr/pkg/bin/pydoc3.10 candidate: /usr/pkg/bin/pydoc3.11 candidate: /usr/pkg/bin/pydoc3.12 candidate: /usr/pkg/bin/pydoc3.13 candidate: /usr/pkg/bin/pydoc3.14 `bin/python' points to `/usr/pkg/bin/python3.13' candidate: /usr/pkg/bin/python2.7 candidate: /usr/pkg/bin/python3.10 candidate: /usr/pkg/bin/python3.11 candidate: /usr/pkg/bin/python3.12 candidate: /usr/pkg/bin/python3.13 candidate: /usr/pkg/bin/python3.14 `bin/python3' points to `/usr/pkg/bin/python3.13' candidate: /usr/pkg/bin/python3.10 candidate: /usr/pkg/bin/python3.11 candidate: /usr/pkg/bin/python3.12 candidate: /usr/pkg/bin/python3.13 candidate: /usr/pkg/bin/python3.14
/usr/pkg/bin/python3 が python3.13 を指し示して いるので、以下のようにして、 /usr/pkg/bin/python3 が python3.14 を指し示すようにしたでござる。
# pkg_alternatives manual python314 pkg_alternatives: modifying configuration from `/usr/pkg/etc/pkg_alternatives/usr/pkg/bin/idle' pkg_alternatives: modifying configuration from `/usr/pkg/etc/pkg_alternatives/usr/pkg/bin/pydoc' pkg_alternatives: modifying configuration from `/usr/pkg/etc/pkg_alternatives/usr/pkg/bin/python' pkg_alternatives: modifying configuration from `/usr/pkg/etc/pkg_alternatives/usr/pkg/bin/python3'
確認してみるでござる。
# pkg_alternatives status python314 `bin/idle' points to `/usr/pkg/bin/idle3.14' candidate: /usr/pkg/bin/idle3.12 candidate: /usr/pkg/bin/idle3.13 candidate: /usr/pkg/bin/idle3.14 `bin/pydoc' points to `/usr/pkg/bin/pydoc3.14' candidate: /usr/pkg/bin/pydoc2.7 candidate: /usr/pkg/bin/pydoc3.10 candidate: /usr/pkg/bin/pydoc3.11 candidate: /usr/pkg/bin/pydoc3.12 candidate: /usr/pkg/bin/pydoc3.13 candidate: /usr/pkg/bin/pydoc3.14 `bin/python' points to `/usr/pkg/bin/python3.14' candidate: /usr/pkg/bin/python2.7 candidate: /usr/pkg/bin/python3.10 candidate: /usr/pkg/bin/python3.11 candidate: /usr/pkg/bin/python3.12 candidate: /usr/pkg/bin/python3.13 candidate: /usr/pkg/bin/python3.14 `bin/python3' points to `/usr/pkg/bin/python3.14' candidate: /usr/pkg/bin/python3.10 candidate: /usr/pkg/bin/python3.11 candidate: /usr/pkg/bin/python3.12 candidate: /usr/pkg/bin/python3.13 candidate: /usr/pkg/bin/python3.14
期待通りの状態になったようでござる。
% python3 --version Python 3.14.7