使用 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
相关推荐
IVEN_5 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang6 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮6 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling7 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮10 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽10 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞1 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers