使用 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
相关推荐
A__tao2 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢2 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
迷藏4942 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨2 小时前
python扫码登录dy
开发语言·python
bazhange3 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能3 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技3 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
问简3 小时前
ubuntu24 主题经验
ubuntu
小敬爱吃饭3 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
杨云龙UP3 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh