如何在Ubuntu 22.04|20.04|18.04上安装Python 3.11 |
编程在科技世界中发挥着巨大作用。没有它,您将无法查看本文或使用手机、电脑、智能电视等。在这个技术驱动的世界中,学习编程确实可以给您带来竞争优势。这可以帮助全球社会创新并创造解决方案。
编程可以定义为一组交给计算机执行的指令。这些指令是用计算机可以理解的语言编写的。如今有很多编程语言,最常见的是 Java、JavaScript、Ruby、Python、C/C++、Swift 等。
Python 是一种开源、高级面向对象的编程语言,拥有庞大的社区。它是初学者最考虑的语言之一。这主要是因为它的语法简单且易于学习。它用于构建广泛的应用程序,从小型简单的脚本到复杂的机器学习算法。 Python主要用于:
- 快速原型设计或生产就绪软件开发。
- 在服务器上创建 Web 应用程序
- 处理大数据并执行复杂的数学。
- 连接到数据库系统,读取和修改文件。
- 与创建工作流程的软件一起使用
Python 的最新版本是 2022 年 10 月 24 日发布的 Python 3.11。这个更快、更用户友好的版本经过 17 个月的开发已经推出。这导致了一些功能和改进被标记为它。
与 Python 3.11 相关的主要功能包括:
- 由于 Faster CPython 项目付出了大量努力,代码执行速度更快
- 更好的错误消息和更丰富的回溯
- 简化异步代码使用的任务和异常组
- 对使用配置文件的本机 TOML 支持
- 几个改进 Python 静态类型支持的新类型功能
- 更强大的Python解析器
- 安全更新。
在 Ubuntu 22.04|20.04|18.04 上安装 Python 3.11
本指南演示如何在 Ubuntu 22.04|20.04|18.04 Linux 计算机上安装 Python 3.11。
本指南将提供两种在 Ubuntu 22.04|20.04|18.04 上安装 Python 3.11 的方法。这两种方法是:
- 从deadsnakes PPA安装
- 从源代码手动构建 Python 3.11
但在我们继续之前,请确保系统软件包已更新到最新的可用版本:
sudo apt update && sudo apt upgrade -y
现在选择最适合您的方法之一。
方法 1 – 通过 deadsnakes PPA 在 Ubuntu 上安装 Python 3.11
deadsnakes PPA 提供了在 Ubuntu 22.04|20.04|18.04 上安装 Python 3.11 的最简单方法。它还使用户能够接收持续更新、错误修复和安全更新。给这个定制 PPA 点赞!
首先,安装所需的依赖包:
sudo apt install software-properties-common -y
将 deadsnakes PPA 添加到 APT 包管理器源列表中。
sudo add-apt-repository ppa:deadsnakes/ppa
如图所示继续:
..........
To install 3rd-party Python modules, you should use the common Python packaging tools. For an introduction into the Python packaging ecosystem and its tools, refer to the Python Packaging User Guide:
https://packaging.python.org/installing/
Sources
=======
The package sources are available at:
https://github.com/deadsnakes/
Nightly Builds
==============
For nightly builds, see ppa:deadsnakes/nightly https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly
More info: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
Press [ENTER] to continue or ctrl-c to cancel adding it
按 Enter 键继续。添加 PPA 后,您可以使用以下命令在 Ubuntu 上安装 Python 3.11:
sudo apt install python3.11
验证安装:
$ python3.11 --version
Python 3.11.4
方法 2 – 在 Ubuntu 上从源代码安装 Python 3.11。
这是在 Ubuntu Linux 系统上安装 Python 3.11 的另一种方法。通过这种方法,您可以保证获得最新的 Python 版本。此方法的唯一问题是您将无法通过 APT 包管理器接收持续更新、错误修复和安全更新。
首先安装从源代码构建 Python 3.11 所需的包。
sudo apt update && sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev pkg-config -y
安装软件包后,从 Python 官方发布页面下载最新的可用 Python 3.11 gzipped tarball。
您仍然可以使用 wget 下载 tarball:
wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz
解压下载的存档:
tar -xf Python-3.11.*.tgz
现在导航到目录:
cd Python-3.11.*/
我们将检查是否满足所需的依赖关系并使用以下命令优化二进制文件:
./configure --enable-optimizations
示例输出:
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for Python interpreter freezing... ./_bootstrap_python
checking for python3.11... no
checking for python3.10... no
checking for python3.9... no
checking for python3.8... python3.8
checking Python for regen version... Python 3.8.10
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... "linux"
checking for gcc... gcc
.....
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Misc/python.pc
config.status: creating Misc/python-embed.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/Setup.bootstrap
config.status: creating Modules/Setup.stdlib
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
configure: creating Modules/Setup.local
configure: creating Makefile
检查后,使用以下命令启动构建过程。我们使用 -j 来提供系统上可用的核心数量,这使得构建过程更快:
make -j $(nproc)
示例输出:
........
copying and adjusting /home/ubuntu/Python-3.11.4/Tools/scripts/idle3 -> build/scripts-3.11
copying and adjusting /home/ubuntu/Python-3.11.4/Tools/scripts/2to3 -> build/scripts-3.11
changing mode of build/scripts-3.11/pydoc3 from 664 to 775
changing mode of build/scripts-3.11/idle3 from 664 to 775
changing mode of build/scripts-3.11/2to3 from 664 to 775
renaming build/scripts-3.11/pydoc3 to build/scripts-3.11/pydoc3.11
renaming build/scripts-3.11/idle3 to build/scripts-3.11/idle3.11
renaming build/scripts-3.11/2to3 to build/scripts-3.11/2to3-3.11
gcc -pthread -c -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fno-semantic-interposition -std=c11 -Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/unionobject.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/Python-tokenize.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frame.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Modules/timemodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o Modules/xxsubtype.o Python/deepfreeze/deepfreeze.o Modules/getpath.o Python/frozen.o -lpthread -ldl -lutil -lm
make[1]: Leaving directory '/home/ubuntu/Python-3.11.4'
注意:从源代码构建 Python 可能需要很长时间,具体取决于您的系统。您可以调整传递给 make
命令中的 -j
选项的数量来指定要运行的并行构建作业的数量,这可以加快构建过程。
构建过程完成后,使用以下命令安装 Python 3.11:
sudo make altinstall
我们使用 altinstall
代替 install
来将默认的 Python 二进制路径保留在 /usr/bin/python 。
执行输出:
.......
Looking in links: /tmp/tmprw_g09fu
Processing /tmp/tmprw_g09fu/setuptools-65.5.0-py3-none-any.whl
Processing /tmp/tmprw_g09fu/pip-22.3.1-py3-none-any.whl
Installing collected packages: setuptools, pip
Successfully installed pip-22.3.1 setuptools-65.5.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
完成后,检查版本:
$ python3.11 --version
Python 3.11.4
安装 Python 扩展
Python 模块很重要,因为它们为 Python 添加了功能。可以使用Python 包管理器 (PIP) 安装这些模块。
在 Ubuntu 上安装 PIP:
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11
通过检查版本确认已安装:
$ pip3.11 -V
pip 23.0.1 from /usr/local/lib/python3.11/dist-packages/pip (python 3.11)
现在使用 PIP 安装任何模块。使用的命令语法如下:
sudo pip3.11 install module-name
例如:
sudo pip3.11 install awscli
示例输出:
....
Collecting rsa<4.8,>=3.1.2
Downloading rsa-4.7.2-py3-none-any.whl (34 kB)
Collecting jmespath<2.0.0,>=0.7.1
Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
Collecting python-dateutil<3.0.0,>=2.1
Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 52.1 MB/s eta 0:00:00
Requirement already satisfied: urllib3<1.27,>=1.25.4 in /usr/lib/python3/dist-packages (from botocore==1.29.78->AWSCLI) (1.26.5)
Requirement already satisfied: pyasn1>=0.1.3 in /usr/lib/python3/dist-packages (from rsa<4.8,>=3.1.2->AWSCLI) (0.4.8)
Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil<3.0.0,>=2.1->botocore==1.29.78->AWSCLI) (1.16.0)
Installing collected packages: rsa, python-dateutil, jmespath, docutils, botocore, s3transfer, AWSCLI
Successfully installed AWSCLI-1.27.78 botocore-1.29.78 docutils-0.16 jmespath-1.0.1 python-dateutil-2.8.2 rsa-4.7.2 s3transfer-0.6.0
您可以使用以下命令列出所有已安装的模块;
$ pip3.11 list
Package Version
---------------------- ---------------
attrs 21.2.0
Automat 20.2.0
awscli 1.27.78
Babel 2.8.0
bcrypt 3.2.0
blinker 1.4
botocore 1.29.78
certifi 2020.6.20
chardet 4.0.0
click 8.0.3
cloud-init 22.4.2
colorama 0.4.4
command-not-found 0.3
configobj 5.0.6
constantly 15.1.0
cryptography 3.4.8
dbus-python 1.2.18
distro 1.7.0
distro-info 1.1build1
docutils 0.16
httplib2 0.20.2
hyperlink 21.0.0
idna 3.3
importlib-metadata 4.6.4
incremental 21.3.0
......
判决
我们已经成功地完成了如何在 Ubuntu 22.04|20.04|18.04 上安装 Python 3.11。您现在可以使用已安装的 Python 3.11 来构建 Web 应用程序、创建工作流程、软件开发等。
查看更多:
在 Rocky Linux 9/AlmaLinux 9 上安装 Java 17、Java 11
使用 Apache 和 mod_wsgi 在 CentOS 7 上部署 Python 3 Django 应用程序
2022 年学习 Python 编程的最佳书籍