Ubuntu 24.04 安装与配置 pyenv

Date: 2026/1/24


Q:

ubuntu 24.04 安装pyenv

A:

Ubuntu 24.04 安装与配置 pyenv

1) 安装依赖

bash 复制代码
sudo apt update
sudo apt install -y git curl make build-essential \
  libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
  libffi-dev liblzma-dev tk-dev xz-utils \
  ca-certificates

可选(有些 Python 版本/模块可能用到):

bash 复制代码
sudo apt install -y llvm libncursesw5-dev

2) 安装 pyenv

推荐用官方安装脚本(会安装到 ~/.pyenv):

bash 复制代码
curl -fsSL https://pyenv.run | bash

3) 配置 Shell 环境(关键)

按你使用的 shell 选择其一。

A. 使用 bash(Ubuntu 默认常见)

把下面内容追加到 ~/.bashrc:

bash 复制代码
cat >> ~/.bashrc <<'EOF'

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"
EOF

然后加载配置:

bash 复制代码
source ~/.bashrc
B. 使用 zsh

追加到 ~/.zshrc:

bash 复制代码
cat >> ~/.zshrc <<'EOF'

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - zsh)"
EOF

然后加载:

bash 复制代码
source ~/.zshrc

4) 验证安装

bash 复制代码
pyenv --version

5) 安装 Python(示例)

查看可安装版本:

bash 复制代码
pyenv install --list

安装一个版本(示例 3.12.2):

bash 复制代码
pyenv install 3.12.2

设置全局默认:

bash 复制代码
pyenv global 3.12.2

验证当前 Python:

bash 复制代码
python -V
which python

6) 常用命令速查

  • 查看已安装版本:

    bash 复制代码
    pyenv versions
  • 当前生效版本:

    bash 复制代码
    pyenv version
  • 仅对当前目录生效(生成 .python-version):

    bash 复制代码
    pyenv local 3.12.2

常见问题

pyenv: python: command not found 或版本切换不生效

通常是 shell 初始化没生效:

  1. 确认 ~/.bashrc / ~/.zshrc 里已加入 PYENV_ROOT、PATH、pyenv init

  2. 重新打开终端或 source ~/.bashrc

  3. 确认:

    bash 复制代码
    echo $PATH | tr ':' '\n' | head

    应该能看到 ~/.pyenv/bin 相关路径


相关推荐
智购科技无人售货机工厂店3 分钟前
玻璃瓶饮料破损率突然上升,排查发现是取货口缓冲垫老化了~YH
java·开发语言·人工智能·python·eclipse
东城居士10 分钟前
理解设备树下的platform驱动编写
linux·嵌入式系统
JWASX11 分钟前
【agent 开发】agent 开发学习 - LangChain(2)
python·学习·langchain
小义_14 分钟前
Linux 补充
linux·服务器
晴天的雨.99216 分钟前
【Linux】Shell 命令以及运行原理+权限管理
linux·运维·服务器
djjjx.20 分钟前
Linux工具篇 (六):GDB 调试从底层逻辑到高阶实战
linux·运维·服务器·gdb
IT大白鼠23 分钟前
彭大帅的AI运维助手实战案例 5 · 新接手的服务器,先让 AI 摸底
运维·服务器·人工智能
kimnoic25 分钟前
Python常用标准库模块及查询使用方法
开发语言·python
范中勤26 分钟前
Python 与 Java:模块、包、对象、反射核心差异总结
java·python·面试·反射·元类
I Am a robert girl26 分钟前
HelixWorld 源码剖析:当世界模型第一次“开口说话”
python·多模态·扩散模型·世界模型·自回归·空间音频·流式推理