使用 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
相关推荐
深蓝电商API44 分钟前
Scrapy爬虫限速与并发控制最佳实践
爬虫·python·scrapy
Derrick__11 小时前
淘宝MD5爬虫
爬虫·python
薛定谔的猫19821 小时前
llama-index Embedding 落地到 RAG 系统
开发语言·人工智能·python·llama-index
nimadan122 小时前
**手机小说扫榜工具2025推荐,精准追踪榜单动态与题材风向
python·智能手机
编程武士2 小时前
Python 各版本主要变化速览
开发语言·python
傻啦嘿哟3 小时前
Python中的@property:优雅控制类成员访问的魔法
前端·数据库·python
sky17203 小时前
VectorStoreRetriever 三种搜索类型
python·langchain
旦莫4 小时前
Python测试开发工具库:日志脱敏工具(敏感信息自动屏蔽)
python·测试开发·自动化·ai测试
唐叔在学习4 小时前
Python自动化指令进阶:UAC提权
后端·python
旺仔小拳头..4 小时前
Java ---变量、常量、类型转换、默认值、重载、标识符、输入输出、访问修饰符、泛型、迭代器
java·开发语言·python