我对 Linux 发行版还不太熟悉。我已下载 Debian 并在我的 Windows 10 WSL2 环境中运行。
我想安装特定版本的 Python - 3.10 或最新 3.11。我该怎么做?
我努力了:
sudo apt upgrade
sudo apt install python3 python3-pip
安装 Python 3.5.3。
python3 --version
根据:
https://packages.debian.org/search?keywords=python3
Package python3
stretch (oldoldstable) (python): interactive high-level object-oriented language (default python3 version)
3.5.3-1: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
buster (oldstable) (python): interactive high-level object-oriented language (default python3 version)
3.7.3-1: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
bullseye (stable) (python): interactive high-level object-oriented language (default python3 version)
3.9.2-3: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
bookworm (testing) (python): interactive high-level object-oriented language (default python3 version)
3.10.6-1: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x
sid (unstable) (python): interactive high-level object-oriented language (default python3 version)
3.10.6-3: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sparc64 x32
3.10.6-2 [debports]: sh4
查看我的 Debian 发行版 - 这是stretch
。
cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
是否可以通过纯粹的安装来完成此操作apt-get
?还是需要下载源代码并进行编译然后安装?
https://cloudcone.com/docs/article/how-to-install-python-3-10-on-debian-11/
与此同时,我在 Windows 应用商店中发现了 Debian 的更新,bullseye
一旦我设置了新的环境,它就会给我提供版本信息。
更新
我已经从 Windows 商店更新了我的发行版。我必须发出以下命令:
wsl --unregister Debian
wsl --install -d Debian
我现在有:
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
我不得不从头开始再次安装python:
sudo apt install python3 python3-pip
这将安装:
Python 3.9.2
答案1
我对 Linux 发行版还很陌生。
别担心!我们都经历过这样的时刻。这里有一些重要的背景知识,可以帮助你了解发生了什么。
sudo apt install python3 python3-pip
Linux 发行版提供了“包管理”的便利(apt
在本例中是在 Debian 下),以及经过这些发行版测试并“批准”(可能这个词太强烈了)的软件存储库。
Python 尤其批判的Linux 发行版的一部分——Linux 系统中的很多功能通常都是通过 Python 提供的。因此,不是建议更改 Python 版本來与系统一起,尽管有方法可以使用高于系统版本的单独 Python 版本:
- 使用 Docker运行不同版本的 Python
- 皮耶恩
--prefix
使用单独的或使用源代码进行安装sudo make altinstall
(请参阅这个 Ask Ubuntu 答案。
请注意,Ubuntu 上可用的某些选项在 Debian 上不起作用:
据我所知,Debian 上没有可靠的 Python PPA。PPA 是个人软件包档案。在 Ubuntu 上,死蛇 PPA看起来是值得信赖的,但它还没有在 Debian 上测试过。
Ubuntu 22.04 最近将 3.11 添加到存储库(不是默认的)以供安装
sudo apt install python3.11
,但从我在 Debian 上(也在 WSL 下)的软件包搜索来看,情况并非如此。
其他背景
这里有一些关于 Linux 发行版及其存储库如何工作的额外背景信息。一般来说,有两种类型的发行版:
Cadence/稳定版本分布
这些版本通常会定期更新。例如 Ubuntu、Debian、Redhat、OpenSUSE Leap 等等。
例如,Ubuntu 每 6 个月发布一次,分别在 4 月和 10 月。但是,只有“双数年 4 月发布”(例如 22.04)才被视为“长期支持”(LTS)版本,可获得 5 年的支持和更新。中间的其他 3 个版本是短期版本,仅获得 9 个月的支持。
这些发布重点关注稳定不仅仅是最新和最好的软件包。 尤其对于 Python,它是许多其他功能和包的依赖项任何Linux 发行版,重要的是确保更新不会破坏其他功能(或至少降低风险)。
Debian Stretch 已经很老了,而且生命的尽头。Bullseye 是最新稳定版本,Bookworm 是最新测试版本。
如您所见,最新的稳定的包括 3.9。如果你想将 Debian 升级到测试版本(Bookworm),那么它将有 3.11(来自软件包列表),但一般来说,我会使用上面列出的其他方法之一。
“滚动发布”发行版
另一种发行版是“滚动发布”风格。例如 Arch、Artix、openSUSE Tumbleweed、Gentoo 等等。
这些发行版专注于“持续”更新软件包。一旦测试了新的 Python 版本,它将在存储库中更新,并可以通过常规的软件包管理更新系统进行安装。可能仍会有轻微的延迟(几天到几周,取决于软件包/维护者/测试/问题/等),但您不必等待发行版的下一个“主要”版本。