用户工具

站点工具


freebsd:ports_upgrade_python

升级 FreeBSD 系统中的 python

当 ports 的 PYTHON_DEFAULT 变更后, 整个 python 生态系统需要重新编译.

记录下升级 python 3.9 为 3.11 的过程.

下面的 sh 可以用 bash, zsh, 反正不能用 csh/tcsh, 如果已经是前三种则不需要切换

利用 portmaster 升级

sh
portmaster -o lang/python311 python39
REINSTALL="$(pkg info -o "*py39*" | awk '{printf "%s ", $2}')"
pkg delete -f "*py39*"
portmaster $REINSTALL
REBUILD=$(pkg query -g "%n:%dn" '*' | grep py3 | grep -v py311 | cut -d : -f 1 | sort -u)
portmaster $REBUILD
REBUILD2=$(pkg list | grep python-39 | xargs pkg which | awk '{print $6}' | sort -u)
portmaster $REBUILD2

利用 pkg 升级

sh
for i in $(pkg query -g %n 'py39-*'); do pkg set -yn ${i}:py311-${i#py39-}; done
pkg upgrade
pkg remove python39
rm -r /usr/local/lib/python3.9
freebsd/ports_upgrade_python.txt · 最后更改: 2024/05/30 03:14 由 Hshh