作为 Arch 的忠实用户,我选择每天 Syu
。今天在 cn 的公告群看到了如下的置顶消息
官方源中 Python 3.9 及所有依赖包已经进入稳定仓库, archlinuxcn 中的所有 python 库正在针对 3.9 版本重新打包,在重新打包全部完成前更新系统可能遭遇 Python 版本不一致的情况。希望系统稳定更新至最新的话可以考虑今天避开更新系统或者安装新包,耐心等待重新打包工作结束。
其实就是说从 python3.8 到 python3.9 会波及所有 python3.8 的包。它们全部需要重建。不喜欢折腾的用户可以最近不更新,过几天等 cn 源和 aur 更新即可。这样到时候全部该重建的重建了再一次全部更新就行。挂的几率会降低。
而我习惯了关机前 Syu
了,即使看到公告也决定更新一波。次日早上,也就是今天看到群里有 optimus-manager
的双显卡加 sddm
用户挂了。这不就是和我完全一样的情况吗?我知道今天必挂无疑。想着我的 Archiso
终于有机会出场了。
带着必死的决心开机, sddm
果然启动不了。于是开始了今天的正戏。
首先用
1 | ls /usr/lib/python3.8/site-packages/ |
看看到底有哪些 py3.8
的小可爱需要重构。不看不知道,我这里大概有 20 个需要搞。这里的基本是 cn 源和 aur 里面还没更新的。既然如此那就一个个来。这次里面最致命的是 optimus-manager
。重新编译一遍就行了。但是我下载的源码早就清理了。所以直接
1 | yay -S optimus-manager |
就行了。
这时候重启系统应该就可以了。
不过我的情况其实稍稍复杂一点。我还用了 optimus-manager-qt-kde
包。一查,这个包都没了。所以我干脆
1 | sudo pacman -Rnsc optimus-manager-qt-kde |
然后装上普通的 optimus-manager-qt
过活。
而我以为直接 sudo systemctl restart sddm
能解决问题。实际上还重启 optimus-manager
,这样应该就可以不用重启系统。懒得弄直接重启系统也行。
进去系统应该还有很多东西用不了,都是 python3.8 相关的。继续 rebuild /usr/lib/python3.8/site-packages/
下的包,全部弄好就行。
另外我是 zinit
用户,里面有些东西貌似也与 python3.8
有关,执行 zinit update
即可。
我还是 vim
的 ycm
用户,它也和 python3.8
有关,继续重建。进去 ycm
插件的文件夹,运行
1 | python install.py |
完成重建。
目前我的 python3.8
系统相关的东西就结束了。有空再把 python
的虚拟环境升级到 python3.9
吧。