当我发现这件事情的时候确实有点无语
op 使用的是 archlinux ,之前系统 python 解释器是 3.10 ,突然发现变成 3.11 了,我猜测是 pacman 更新的,但是用pacman -Qc python
没有查询到变更记录
今天发现一个 virtualenv 的虚拟环境不能用了,仔细看了后才发现,之前因为虚拟环境里的 ptyhon 解释器跟系统解释器同一个版本,就直接链接过去了,然而系统更新把/usr/bin/python3.10
搞没了,所以就成了 broken link
想到一个简单的办法:把软链接改到/usr/bin/python3.11
,能行吗,会不会不兼容?
平时基本都是每次更新都看一遍才升级的,估计那次刚好看漏了。。。
![]() | 1 c0nstantien 2023-05-16 11:27:04 +08:00 我也是这个问题,解决办法是安装 3.10 版本,再重新建虚拟环境,指定版本为 3.10 ,我用的 pipenv 管理的 |
2 zhanghua0 2023-05-16 11:38:08 +08:00 via Android 之前用的也是系统的解释器?那么重新用新版解释器建立 venv 应该就好了 |
![]() | 3 westoy 2023-05-16 11:41:38 +08:00 python -m venv --upgrade $dir |
![]() | 4 Ricardoo 2023-05-16 11:43:58 +08:00 ![]() 头疼,老哥,怎么又是你,上次好像 conda 环境搞崩了也是你吧=。=! archlinux 自带的 python 是很多组件的依赖,版本升级也会跟着升级,自己开发别用系统的 python 。所以用虚拟环境就别用 venv 这种,他是把解释器链接到当前目录的(真要用自己安装一个 python ,venv 链接到自定义的 python )。 你需要一个完全独立的 python 解释器,推荐 miniconda 。 |
![]() | 5 lwjef 2023-05-16 11:53:18 +08:00 via iPhone wiki 上有提到,aur 装需要版本,venv 指定版本。 https://wiki.archlinux.org/title/python https://wiki.archlinux.org/title/Python/Virtual_environment |
6 Masoud2023 2023-05-16 17:14:10 +08:00 |
8 alexsz 2023-05-18 08:52:42 +08:00 @Masoud2023 pyenv +1 |