好家伙 有 python2.7,有 python3.8,还有 python3.9
我想连同他们及 pip 全干掉 然后重新安装一个 python3.8 或者 3.9
最佳的清理办法应该是怎么样?
到底咋办呀 T A T
如果在用 openSUSE 的话,平行地从软件源安装好几个 python 是特性,其他的版本可能是其它软件的依赖,直接删掉不清楚会有什么后果。
GitHub - openSUSE/python-rpm-macros: Multi-Python, Single-Spec macros generator
解决方法就是选一个主版本咯,
-
/usr/bin/python3.9
和/bin/python3.9
是没有区别的,只不过是历史原因弄了两个,其中一个是另一个的符号链接 - 可以用
which python3
查看目前的python3
指向的版本 - 然后用
update-alternatives --list python
来切换主版本,也就是/usr/bin/python3
和pip3
指向的那个 - 对应
X.Y
版本的包会被安装到/usr/lib/pythonX.Y/site-packages
里面 - 操作 pip 的时候可以
python3.9 -m pip --user install
来精确选择 py 的版本
不过我的做法是躺平,每开一个项目建一个新的 virtualenv,自己的项目和操作系统的那一堆隔离。
python3.9 原来是我装的一个 3d 软件带的 (blender),后来想了想我貌似就没用过它 (我也就是拿来画一些分子结构图, 不过这么简单的东西 mayavi 就能做),于是给卸载了 (连同依赖)。 >_<
问个问题,就是今后 openSUSE 的 python 主版本从 3.8 更新到 3.9 的时候, pip 里面装好的包需要重新安装还是他会自动更新? (
如果说的是手动用 pip --user install
的包,会进入到对应版本里面的。
~/.local/lib/python3.9/site-packages/
或
~/.local/lib/python3.8/site-packages/
对应的 python 版本对应不同的 pip。升级到 3.9 或 3.10, 需要重新装一下。不过 pip 可以导出一个 requirement.txt 然后可以在新版本里面导入。
如果说的是操作系统的那些软件,大部分会自动换到新的版本。不过有一些软件跟不上滚动更新的节奏,会继续依赖老版本,也就是为什么要 multiple-python
。对比起来,隔壁 Arch Linux 只保留最新版本的 python,大版本更新的时候一些没有跟进新版本的软件就暂时凉凉了。
Venv 永远的神
本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。