a3n*_*3nm 3 debian alias python python3
我的 Debian 测试系统的最新更新删除了 Python 版本 2,我只安装了 Python 3,带有python3
. 不再有任何名为python
. 这会导致多个脚本失败,包括与 Python 3 兼容的脚本。
我很想知道什么是全局配置python
为python3
.
一种肮脏的解决方案是手动执行类似的操作sudo ln -s /usr/bin/python{3,}
,但我担心这对未来的 APT 更新(或者如果稍后重新安装 Python 2)可能不健壮。另一种选择是设置别名,但它只适用于我的用户,而不适用于整个系统。
我还注意到,在 Ubuntu 上有一个软件包python-is-python3
可以做到这一点,但在 Debian 上没有这样的软件包。
如果您想坚持/usr
除此之外的所有内容/usr/local
都应来自包的规则,我实际上会下载该python-is-python3
包并安装它。它仅提供/usr/bin/python
符号链接和所需的文档,并且其包关系不太可能在将来引起问题。
别名不会\xe2\x80\x99t帮助你的脚本\xe2\x80\x99 shebangs,并且鉴于Python包不\xe2\x80\x99t使用替代品,创建你自己的替代品(等)update-alternatives
不会\xe2\x80 \x99t 不是一个强大的解决方案。
如果您的脚本使用/usr/bin/env python
,您可以手动添加链接/usr/local/bin
。
无论您决定做什么,从现在开始,Debian 中依赖于 Python 的软件包都需要在其 shebangs 中显式使用python2
或python3
,因此您\xe2\x80\x99不会遇到由官方存储库中的软件包(在 Debian 11 中)引起的问题以及之后的版本,暂时排除不稳定的和实验性的,因为它们仍然有旧的 Python 包,尚未清理\xe2\x80\x99)。
看起来 Debian 现在自己发布了python-is-python3(在撰写本文时在 sid 和测试中),因此问题的前提不再成立,您可以只:sudo apt update && sudo apt install python-is-python3
.
归档时间: |
|
查看次数: |
1859 次 |
最近记录: |