使用 pyenv 在Ubuntu 20 上安装 Python 3.10

步骤 1: 安装编译所需的依赖项

由于 pyenv 是通过编译源代码来安装 Python 的,您需要安装所有必要的编译工具和开发库。

bash 复制代码
# 更新系统并安装编译依赖
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

步骤 2: 安装 pyenv

使用官方推荐的 pyenv-installer 脚本进行安装。

bash 复制代码
# 下载并运行 pyenv 安装脚本
curl https://pyenv.run | bash

步骤 3: 配置 Shell 环境

安装完成后,您需要将 pyenv 的初始化路径添加到您的 shell 配置文件 (~/.bashrc) 中,使其在每次打开终端时自动加载。

bash 复制代码
# 1. 将 pyenv 相关的初始化命令添加到 ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init --path)"\n  eval "$(pyenv virtualenv-init -)"\nfi' >> ~/.bashrc

# 2. 重新加载配置,使 pyenv 命令立即可用
source ~/.bashrc

步骤 4: 使用 pyenv 安装 Python 3.10

现在,您可以利用 pyenv 来编译和安装 Python 3.10。建议选择最新的 3.10.x 版本(例如 3.10.10)。

bash 复制代码
# 1. 查看 pyenv 提供的 3.10 版本列表 (可选)
pyenv install --list | grep " 3.10"

# 2. 安装 Python 3.10.10 (如果需要最新版本,请替换版本号)
# 这一步是源代码编译,可能会持续 5-15 分钟,具体取决于您的虚拟机性能。
pyenv install 3.10.10

手动缓存源码

bash 复制代码
#创建缓存目录: 确保缓存目录存在。
mkdir -p ~/.pyenv/cache
cd ~/.pyenv/cache
#手动下载 Python 3.10.10 源码包
wget https://mirrors.tuna.tsinghua.edu.cn/python/3.10.10/Python-3.10.10.tar.xz
#重新执行
pyenv install 3.10.10

步骤 5: 验证和启用 Python 3.10

安装完成后,您就可以告诉 pyenv 使用这个新版本了。

bash 复制代码
# 1. 设置 Python 3.10.10 为全局默认版本(推荐在 /root 用户下使用)
pyenv global 3.10.10

# 2. 验证当前 shell 中使用的 Python 版本
python --version
相关推荐
龙腾AI白云15 小时前
大模型检索增强生成(RAG)的技术原理与架构设计
数据库·python·机器学习·知识图谱
fanruitian15 小时前
python 可视化 panda seaborn matplotlib.pyplot
开发语言·python·matplotlib
梦想不只是梦与想15 小时前
Python 中的 json 模块
python·json·对象转字符串
星河耀银海15 小时前
Python文件操作:read、readline、readlines读取方式对比
python·文件操作·面向对象·基础函数·教程学习
傅科摆 _ py16 小时前
DP,贪心,堆和栈,二分力扣复习
开发语言·python·算法
吴名氏.16 小时前
Java转AI Agent教程(第一周)让模型先跑起来
人工智能·python·ai·ai agent
易点云徐源16 小时前
HP 暗影精灵 PRO 16 安装双系统后,开机直接进入 Windows,按 F9 才能进入 Ubuntu:GRUB 菜单不显示的处理方法
linux·运维·ubuntu
web打印社区16 小时前
Chrome-kiosk-printing能上生产吗
开发语言·前端·javascript·chrome·websocket
第404号工位17 小时前
离职退电脑前别只点“清空回收站”!手把手教你彻底抹除凭证与数字痕迹
linux·python·架构
Metaphor69217 小时前
使用 Python 在 Word 文档中添加、修改和删除变量
python·word