pacman 把 Python 系统解释器更新,导致虚拟环境的软链接失效

363 天前
 vituralfuture

当我发现这件事情的时候确实有点无语

op 使用的是 archlinux ,之前系统 python 解释器是 3.10 ,突然发现变成 3.11 了,我猜测是 pacman 更新的,但是用pacman -Qc python没有查询到变更记录

今天发现一个 virtualenv 的虚拟环境不能用了,仔细看了后才发现,之前因为虚拟环境里的 ptyhon 解释器跟系统解释器同一个版本,就直接链接过去了,然而系统更新把/usr/bin/python3.10搞没了,所以就成了 broken link

想到一个简单的办法:把软链接改到/usr/bin/python3.11,能行吗,会不会不兼容?

平时基本都是每次更新都看一遍才升级的,估计那次刚好看漏了。。。

1180 次点击
所在节点    Python
8 条回复
c0nstantien
363 天前
我也是这个问题,解决办法是安装 3.10 版本,再重新建虚拟环境,指定版本为 3.10 ,我用的 pipenv 管理的
zhanghua0
363 天前
之前用的也是系统的解释器?那么重新用新版解释器建立 venv 应该就好了
westoy
363 天前
python -m venv --upgrade $dir
Ricardoo
363 天前
头疼,老哥,怎么又是你,上次好像 conda 环境搞崩了也是你吧=。=!
archlinux 自带的 python 是很多组件的依赖,版本升级也会跟着升级,自己开发别用系统的 python 。所以用虚拟环境就别用 venv 这种,他是把解释器链接到当前目录的(真要用自己安装一个 python ,venv 链接到自定义的 python )。
你需要一个完全独立的 python 解释器,推荐 miniconda 。
lwjef
363 天前
Masoud2023
363 天前
deplivesb
362 天前
@Ricardoo 又菜又爱玩呗
alexsz
361 天前
@Masoud2023 pyenv +1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/940347

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX