在 WSL2 Debian 发行版上安装 Python 3.10+

在 WSL2 Debian 发行版上安装 Python 3.10+

我对 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 版本:

请注意,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 版本,它将在存储库中更新,并可以通过常规的软件包管理更新系统进行安装。可能仍会有轻微的延迟(几天到几周,取决于软件包/维护者/测试/问题/等),但您不必等待发行版的下一个“主要”版本。

相关内容