如何在统信UOS里安装Python 3.11

本文详细介绍了如何在Debian11系统上从源码编译安装Python3.11,包括更新依赖、下载源码、配置、编译和安装过程。此外,还讲解了如何设置Python3.11为默认版本,以及如何创建和激活Python虚拟环境进行项目开发,确保环境隔离。
该文章已生成可运行项目,

前言 

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

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

  Python 3.11有许多单独的性能改进,最大的一个新功能是自适应解释器,由于对象的类型很少更改,解释器现在尝试分析正在运行的代码。
并用类型特定的字节码替换常规字节码。 例如,二进制操作(加法、减法等)可以被替换为整数、浮点和字符串的特殊版本替换。

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

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

一、下载 Python源码

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

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

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

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

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.4/Python-3.11.4.tar.xz

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.4/Python-3.11.4.tar.xz

可用wget代替下载:
wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tar.xz


二、配置 Python构建


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

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

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

tar -xf Python-3.11.4.tar.xz
cd Python-3.11.4/
./configure --enable-optimizations

tar -xf Python-3.11.4.tar.xz
cd Python-3.11.4/
./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

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/python3创建符号链接,-s 选项是创建软链接,-f选项是强制。

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

五、安装 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

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

source .venv/bin/activate
python -v


八、退出虚拟环境


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

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

deactivate

结论

我们向您展示了如何在Debian 11安装Python 3.11。您现在可以创建一个虚拟环境并开始开发Python 3项目。

本文来源: Verifying your browser... | myfreax

本文章已经生成可运行项目
<think>好的,用户想在Debian 12上安装Python 3.11,我需要提供一个详细的步骤指南。首先,我得确认Debian 12的默认Python版本。一般来说,Debian稳定版可能不会预装较新的Python版本,比如3.11,所以用户需要手动安装。 首先,我应该建议更新系包列表,确保所有依赖都是最新的。使用`sudo apt update`和`sudo apt upgrade`,这是标准操作,避免后续安装出现问题。 接下来,安装必要的依赖项。编译Python源码可能需要一些开发工具和库,比如build-essential、zlib1g-dev、libssl-dev等。这些依赖项必须提前安装好,否则编译过程会出错。 然后,考虑安装方式。用户可以选择从Debian的仓库安装,如果可用的话。但Debian 12的官方仓库可能还没有Python 3.11,这时候需要从源码编译或者使用第三方仓库,比如deadsnakes PPA。不过,Debian并不直接支持PPA,这是Ubuntu的特性,所以可能需要手动添加相关的仓库或者下载源码。 这可能需要提到,使用deadsnakes的仓库需要谨慎,因为它主要是为Ubuntu设计的。对于Debian用户,建议从源码编译更安全可靠。因此,步骤应该包括下载Python 3.11的源码包,解压,配置编译选项,然后编译安装。需要注意配置步骤中的`--enable-optimizations`选项,这会优化Python的性能,但可能会增加编译时间。 安装完成后,需要验证Python 3.11是否正确安装,使用`python3.11 --version`检查版本。另外,用户可能希望将Python 3.11设置为默认版本,这时候需要提到update-alternatives工具,但要注意修改默认版本可能会影响系其他依赖Python的组件,所以建议仅在用户了解后果的情况下进行,或者使用虚拟环境。 最后,推荐使用虚拟环境,比如venv模块,来管理项目依赖,避免系级别的冲突。这也是Python开发中的最佳实践,应该包含在指导步骤中。 可能遇到的常见问题包括依赖项缺失导致编译失败,这时候需要再次检查所有必要的开发库是否安装。另外,权限问题需要使用sudo,但安装到用户目录可能需要不同的配置。如果用户遇到错误,建议查看编译日志,或者查找相关的错误息解决方案。 总结步骤:更新系安装依赖、下载源码、编译安装、验证安装、可选设置默认版本和使用虚拟环境。需要确保每一步的命令准确无误,并且解释清楚每个步骤的目的,让用户理解为什么需要这样做,而不仅仅是复制命令。</think>Debian 12安装Python 3.11完整指南(含新旧版本共存配置) 本文将分步骤演示从源码编译安装Python 3.11的全过程,同时保留系原有Python版本,实现多版本共存。 一、准备工作 1. 更新系包 ```bash sudo apt update && sudo apt upgrade -y ``` 2. 安装编译依赖 ```bash sudo apt install -y build-essential zlib1g-dev \ libncurses5-dev libgdbm-dev libnss3-dev \ libssl-dev libreadline-dev libffi-dev \ libsqlite3-dev libbz2-dev ``` 二、源码编译安装 1. 下载Python 3.11源码 ```bash wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz tar xzf Python-3.11.9.tgz cd Python-3.11.9 ``` 2. 配置编译参数(优化性能) ```bash ./configure --enable-optimizations \ --enable-shared \ --prefix=/usr/local/python3.11 ``` 参数说明: - `--enable-optimizations`:启用PGO优化 - `--enable-shared`:生成共享库 - `--prefix`:自定义安装路径 3. 编译安装(使用多核加速) ```bash sudo make -j$(nproc) && sudo make install ``` 三、环境配置 1. 添加共享库路径 ```bash echo &#39;/usr/local/python3.11/lib&#39; | sudo tee /etc/ld.so.conf.d/python3.11.conf sudo ldconfig ``` 2. 创建符号链接 ```bash sudo ln -sf /usr/local/python3.11/bin/python3.11 /usr/local/bin/python3.11 sudo ln -sf /usr/local/python3.11/bin/pip3.11 /usr/local/bin/pip3.11 ``` 四、验证安装 ```bash python3.11 --version # 应显示 Python 3.11.9 pip3.11 --version # 应显示 pip 版本息 ``` 五、多版本管理方案 1. 使用alternatives系 ```bash sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/python3.11/bin/python3.11 1 sudo update-alternatives --config python3 # 交互式选择默认版本 ``` 2. 虚拟环境使用建议 ```bash python3.11 -m venv myenv source myenv/bin/activate ``` 六、常见问题解决 1. 导入错误:`error while loading shared libraries` 执行`sudo ldconfig`刷新动态链接库缓存 2. pip安装权限问题 建议使用虚拟环境或在命令后添加`--user`参数 3. 与系软件包冲突 请勿删除系自带的python3版本,所有自定义安装应放在`/usr/local`路径下 注:该安装方式不会影响系原有Python环境,适合需要长期维护的生产环境。如需要更简单的安装方式,可考虑使用`pyenv`版本管理工具。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值