myfreax

如何在Debian 11安装Python 3.11

Python 3.11有许多单独的性能改进,最大的一个新功能是自适应解释器,解释器现在尝试分析正在运行的代码

6 min read
By myfreax
如何在Debian 11安装Python 3.11
如何在Debian 11安装Python 3.11

Python是世界上使用最广泛的编程语言之一。凭借其简单易学的语法,Python是初学者和经验丰富的开发人员的流行选择。

Python是相当通用的编程语言。它可以用于构建各种应用程序,从简单应用到复杂的机器学习算法。

Python 3.11有许多单独的性能改进,最大的一个新功能是自适应解释器,由于对象的类型很少更改,解释器现在尝试分析正在运行的代码。

并用类型特定的字节码替换常规字节码。 例如,二进制操作(加法、减法等)可以被替换为整数、浮点和字符串的特殊版本替换。

但标准的Debian 11软件源中不提供Python 3.11的版本。默认包含的是Python 3.7版本,可以使用apt命令进行安装或更新。

在撰写本文时,Python 3.11是Python语言的最新的主版本。因此我们需要手动编译python 3.11。

下载 Python源码

在Debian 11构建Python 3.11源码是一个相对简单的过程,只需几分钟。在开始下载python源码之前请先检查是否存在新的python版本。

你可以点击此处查看可下载的python源码版本,如果有,理论上可以使用较新版本的python源码URL替换curl命令的URL。

首先运行apt命令更新软件源并安装构建Python源码所需的依赖软件,例如build-essentialcurl,c/c++开发工具等。

然后运行curl命令下载Python源码Python源码存档文件。在撰写本文时,最新版本是3.11.0rc2

sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev \
libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev \
libreadline-dev libffi-dev curl libbz2-dev curl -y

curl -O https://www.python.org/ftp/python/3.11.0/Python-3.11.0rc2.tar.xz

配置 Python构建

下载完成后,解压缩存档文件Python-3.11.0rc2.tar.xz。运行cd命令切换到Python源码目录并运行configure脚本。

脚本将会执行大量检查,以确保系统上的所有依赖项都存在。--enable-optimizations选项将通过运行多个测试来优化Python二进制文件。

--enable-optimizations选项将会使的python源码构建过程变慢。如果你需要添加更多选项,可以运行./configure --help命令查看可以配置的选项。

tar -xf Python-3.11.0rc2.tar.xz
cd Python-3.11.0rc2/
./configure --enable-optimizations

编译 Python

运行make -j 4开始启动构建Python源码。你可以修改-j 后面的数字,该数值与你的计算机处理器核数一致。

您可以在终端运行nproc命令来找到CPU核心数。构建完成后,请以具有sudo权限的用户运行make altinstall命令,安装Python二进制文件。

这里不使用标准make install,是因为它将覆盖系统默认python3二进制文件。至此,你已在Debian 11安装Python 3.11。

您可以运行python3.11 --version命令确定是否安装成功,该命令将会打印python的版本号。

make -j 4
sudo make altinstall
python3.11 --version

设置 Python默认版本

如果你需要将python 3.11设置运行默认的python版本,/usr/bin/是Linux PATH环境变量默认搜索路径。

因此仅需要将python3.11的可执行二进制文件软链接到/usr/bin/python文件就可以将python 3.11设置为默认版本。

运行ln命令sudo ln -sf /usr/bin/python3.11 /usr/bin/python创建符号链接,-s 选项是创建软链接,-f选项是强制。

sudo ln -sf /usr/bin/python3.11 /usr/bin/python

安装 Python包

在全局安装python包时,您应该始终使用apt软件包管理器安装发行版提供的python包,因为它们是经过测试并可以在Debian 11正常工作。

Python 3模块软件包的名称以python3为前缀。例如安装paramiko python包,你可以运行命令sudo apt install python3-paramiko

我们建议你在虚拟环境中使用pip安装python包。Python虚拟环境允许您将Python模块安装在特定项目的隔离位置,而不必全局安装。

这样,您不必担心会影响其他Python项目。仅当该模块没有deb的安装包时,才使用pip全局安装该模块。

创建虚拟环境

Python虚拟环境是一个独立的目录树,它包含Python二进制和pip以及第三方模块。 它允许您将Python包安装在项目目录中,而不是全局安装在系统。

在此示例中,我们将在用户家目录中创建一个名为my_app的Python 3.11项目。首先,创建目录my_app并切换到my_app目录。

然后运行命令python3.11 -m venv .venv创建虚拟环境.venv。名称可以是你喜欢的任意名称,它只是一个目录用于存放python,pip和依赖包/模块等。

至此,Python虚拟环境你已在Debian 11创建虚拟环境。

mkdir ~/my_app && cd ~/my_app
python3.11 -m venv .venv

激活虚拟环境

最后运行命令source .venv/bin/activate激活虚拟环境。一旦激活,shell提示符将以python虚拟环境名称作为前缀。

从Python 3.4开始,在创建虚拟环境时将会安装Python pip包管理器,因此你不需要再安装pip。

值得一提的是,在虚拟环境中您可以使用pip代替pip3.11,使用python代替python3.11

例如安装paramiko python包,可以运行命令pip install python3-paramiko。你也可以运行python -v命令确定当前使用的python版本。

source .venv/bin/activate
python -v

退出虚拟环境

完成项目后,可通过运行deactivate命令退出python虚拟环境,您将返回到正常的shell会话中。

退出python虚拟环境后,你可再次通过source .venv/bin/activate命令再次进入python虚拟环境。

deactivate

结论

我们向您展示了如何在Debian 11安装Python 3.11。您现在可以创建一个虚拟环境并开始开发Python 3项目。如果您有任何疑问或反馈,请随时在下面评论。

Related Articles