Ubuntu 服务器安装 Python 环境 的详细指南

ops/2025/3/16 23:24:09/

以下是 在 Ubuntu 上安装 Python 3.10 的详细步骤(兼容 Ubuntu 20.04/22.04):


方法一:通过 PPA 仓库安装(推荐)

1. 添加 deadsnakes PPA
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
2. 安装 Python 3.10
sudo apt install python3.10 python3.10-venv python3.10-dev -y
3. 验证安装
python3.10 --version
# 应输出:Python 3.10.x

方法二:手动编译安装(自定义路径)

1. 安装编译依赖
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 -y
2. 下载 Python 3.10 源码
wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tar.xz
tar -xf Python-3.10.13.tar.xz
cd Python-3.10.13
3. 编译安装(到 /usr/local
./configure --enable-optimizations
make -j $(nproc)
sudo make altinstall  # 使用 altinstall 避免覆盖系统默认 Python
4. 验证安装
python3.10 --version
# 应输出:Python 3.10.13

配置 Python 3.10 为默认版本(可选)

1. 查看当前 Python 版本
python3 --version
2. 更新 alternatives 配置
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
3. 切换默认版本
sudo update-alternatives --config python3

按提示选择 Python 3.10 对应的编号


安装 pip for Python 3.10

1. 安装 pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.10 get-pip.py
2. 验证 pip
pip3.10 --version
# 应输出:pip 23.x.x from ... (python 3.10)

创建虚拟环境(Python 3.10)

python3.10 -m venv myenv
source myenv/bin/activate
# 此时命令行提示符会显示 (myenv)

卸载方法(仅限 PPA 安装)

sudo apt remove python3.10 python3.10-venv python3.10-dev
sudo add-apt-repository --remove ppa:deadsnakes/ppa

常见问题解决

问题 1:add-apt-repository 命令不存在
sudo apt install software-properties-common
问题 2:SSL 模块缺失

手动编译时需确保 OpenSSL 开发包已安装:

sudo apt install libssl-dev
问题 3:pip 安装失败

使用官方脚本重装:

python3.10 -m ensurepip --upgrade

版本兼容性说明

系统版本Python 3.10 支持性
Ubuntu 22.04 LTS✅ 完全支持
Ubuntu 20.04 LTS✅ 完全支持
Ubuntu 18.04 LTS⚠️ 需手动编译

建议生产环境使用 Python 3.10.13(最新维护版本),已修复已知安全漏洞。


http://www.ppmy.cn/ops/166340.html

相关文章

数据结构篇——线性表

一、引入 线性结构是数据结构中最为重要的一种数据存储结构之一,同时也是其他数据结构的基础。今天我们就来学学数据结构中的一种基础类型——线性表。 二、线性表的定义和特点 线性表的定义:用数据元素的有限序列表示。具体情况如下图所示:…

HarmonyOS学习第20天:让应用“找准方向”的地图与定位秘籍

引言:开启 HarmonyOS 应用的位置感知之旅 在这个信息爆炸的时代,我们的生活与地理位置信息紧密相连。无论是寻找一家心仪的餐厅,规划一次完美的旅行,还是追踪快递的实时位置,地图与定位服务都扮演着至关重要的角色。对…

idea maven 编译报错Java heap space解决方法

1.增加 Maven 编译的堆内存 我是用这个方法修改成功的 Maven 编译时使用的 JVM 堆内存可以通过设置 MAVEN_OPTS 环境变量来调整。 在 IntelliJ IDEA 中设置: 打开 IntelliJ IDEA 的设置(File -> Settings 或 Ctrl Alt S)。 导航到 Bui…

【DevOps】Backstage介绍及如何在Azure Kubernetes Service上进行部署

【DevOps】Backstage介绍及如何在Azure Kubernetes Service上进行部署 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 【DevOps】Backstage介绍及如何在Azure Kubernetes Service上…

MySQL小练习

要求: 新建产品库mydb6_product,新建4张表如下: oemployees表 列1:id,整型,主键 列2:name,字符串,最大长度50,不能为空 列3:age,整型 …

【Go学习】04-3-Gorm框架-初识模型定义

【Go学习】04-3-Gorm框架-初识模型定义 初识Gorm创建工作区数据准备操作数据 模型定义模型定义模型标签表名映射Model数据库连接DSN连接数据库调试模式连接池配置 初识Gorm gorm地址:https://github.com/go-gorm/gorm 对开发者友好的gorm库,目前使用最…

Node.js REPL 深入解析

Node.js REPL 深入解析 引言 Node.js 作为一种流行的 JavaScript 运行环境,在服务器端开发中扮演着重要角色。REPL(Read-Eval-Print Loop,读取-求值-打印循环)是 Node.js 的一个核心特性,它允许开发者在一个交互式环境中执行 JavaScript 代码。本文将深入探讨 Node.js R…

DeepSeek 助力 C++ 开发:探索智能编程新境界

这篇文章就会详细讲讲 DeepSeek 在 C 开发里到底能怎么用,从上面说的写代码、找错误、优化性能,到管理项目这些方面,还会给出好多实际的代码例子,讲讲实际用起来是啥情况。目的就是给那些做 C 开发的人,一份全面又详细…