当我发现这件事情的时候确实有点无语
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 1
头疼,老哥,怎么又是你,上次好像 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
|