如何在Ubuntu 22.04安装Python 3.11
Python 3.11有许多单独的性能改进,最大的一个新功能是自适应解释器,即解释器尝试分析正在运行的代码
Python是世界上使用最广泛的编程语言之一。凭借其简单易学的语法,Python是初学者和经验丰富的开发人员的流行选择。
Python是相当通用的编程语言。它可以用于构建各种应用程序,从简单应用到复杂的机器学习算法。
Python 3.11有许多单独的性能改进,最大的一个新功能是自适应解释器,由于对象的类型很少更改,解释器现在尝试分析正在运行的代码。
但标准的Ubuntu 22.04软件源中提供Python 3.1的版本,可以使用apt
命令进行安装或更新,默认版本是Python 3.10。
在撰写本文时,Python 3.11是Python语言的最新的主版本。请以具有sudo权限的用户运行命令sudo apt update && sudo apt install python3.11
安装python 3.11。
安装完成你运行命令python3.11 --version
验证是否安装成功,命令打印python的版本号。
sudo apt update
sudo apt install python3.11
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包,因为它们是经过测试并可以在Ubuntu 22.04正常工作。
Python 3模块软件包的名称以python3
为前缀。例如安装paramiko python包,你可以运行命令sudo apt install python3-paramiko
。
我们建议你在虚拟环境中使用pip安装python包。Python虚拟环境允许您将Python模块安装在特定项目的隔离位置,而不必全局安装。
这样,您不必担心会影响其他Python项目。仅当该模块没有rpm的安装包时,才使用pip全局安装该模块。
创建虚拟环境
Python虚拟环境是一个独立的目录树,它包含Python二进制和pip以及第三方模块。 它允许您将Python包安装在项目目录中,而不是全局安装在系统。
在此示例中,我们将在用户家目录中创建一个名为my_app的Python 3.11项目。首先,创建目录my_app
并切换到my_app
目录。
然后运行命令python3.11 -m venv .venv
创建虚拟环境.venv
。名称可以是你喜欢的任意名称,它只是一个目录用于存放python,pip和依赖包/模块等。
至此,Python虚拟环境你已在Ubuntu 22.04创建虚拟环境。
mkdir ~/my_app && cd ~/my_app
sudo apt install python3.11-venv
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
结论
我们向您展示了如何在Ubuntu 22.04安装Python 3.11。您现在可以创建一个虚拟环境并开始开发Python 3项目。如果您有任何疑问或反馈,请随时在下面评论。