Pythonのバージョンアップ¶
Portsから入れたpythonの,小数第一位以上が上がったときは, /usr/ports/UPDATING の20210425の手順を踏む。
- /etc/make.conf の
DEFAULT_VERSIONS 内の python, pythonn を,新バージョンへ書き替え。n は現時点で3。例:
DEFAULT_VERSIONS+=perl5=5.44 python=3.12 python3=3.12 ruby=3.4 samba=4.23 ssl=openssl36
- pythonをアップグレード。
# portupgrade -o lang/python<新> python<旧>
- 新しいpythonに合うよう,いったん削除→再インスコすべきぱっけぇぢを,吊し上げる。
$ REINSTALL=$(pkg info -o py<旧>-\* | awk '{printf "%s ", $2}')
$ echo $REINSTALL
- それらのぱっけぇぢを削除→インスコ。
# pkg delete -f py<旧>-\*
# for pack in $REINSTALL; do make -C /usr/ports/$pack FLAVOR=py<新> config-recursive; done
# portinstall $REINSTALL
- その他, pythonに依存するぱっけぇぢを再インスコ。
$ REBUILD=$(pkg query -g "%n:%dn" '*' | grep py<n> | grep -v py<新> | cut -d: -f1 | sort -u)
$ echo $REBUILD
# portupgrade -f $REBUILD
$ REBUILD2=$(pkg list | grep python-<旧> | xargs pkg which | awk '{print $6}' | sort -u)
$ echo $REBUILD2
# portupgrade -f $REBUILD2