Linux搭建Python开发环境-Pyenv
Pyenv 是一个轻量级的 Python 版本管理工具,能够帮助开发者高效管理多个 Python 环境。它的核心特点是隔离性和精确控制——所有 Python 版本都安装在用户独立目录中,完全不影响系统自带的 Python 环境。
工作原理:通过独特的 shims 机制拦截 Python 相关命令,根据配置自动重定向到指定版本。支持全局、项目目录和临时会话三级版本控制,灵活适应不同开发场景。
设计优势:纯 Shell 脚本实现,无需 Python 即可运行;无后台进程,配置清晰透明;与虚拟环境工具(如 venv、virtualenv)完美兼容。适合需要同时维护多个 Python 版本项目的开发者,提供了一种干净、可控的环境管理方案。
1. 安装 Pyenv
1.1 安装依赖
在安装新版本 Python 前,建议先安装相应的编译依赖。
Ubuntu/Debian/Mint:
sudo apt update
sudo apt install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
Arch Linux:
sudo pacman -S --needed base-devel openssl zlib xz tk zstd
Fedora 42 及以上版本:
sudo dnf install make gcc patch zlib-devel bzip2 bzip2-devel readline-devel \
sqlite sqlite-devel openssl-devel tk8-devel libffi-devel xz-devel \
libuuid-devel gdbm-libs libnsl2
1.2 安装 Pyenv
使用官方一键安装脚本:
curl -fsSL https://pyenv.run | bash
1.3 配置环境变量
根据使用的 Shell 类型,将以下配置添加到对应的配置文件中。
Bash 用户:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init - bash)"' >> ~/.bashrc
Zsh 用户:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init - zsh)"' >> ~/.zshrc
配置完成后,执行以下命令使配置立即生效(重启终端也会自动生效):
source ~/.zshrc # Zsh 用户
# 或
source ~/.bashrc # Bash 用户
2. 基本使用
2.1 安装 Python 版本
指定版本进行安装,例如安装 Python 3.12:
pyenv install 3.12
2.2 设置全局 Python 版本
将指定版本设为全局默认版本:
pyenv global 3.12
2.3 查看已安装的 Python 版本
列出所有已安装的 Python 版本:
pyenv versions
2.4 临时切换 Python 版本
仅在当前终端会话中临时切换版本:
pyenv shell 3.11
2.5 设置项目本地 Python 版本
进入项目目录,并指定该目录使用的 Python 版本:
cd myproject
pyenv local 3.10
执行后会在目录下生成一个 .python-version 文件,记录所使用的版本。
说明:Pyenv 默认将 Python 安装到 ~/.pyenv/versions/ 目录下,不同版本彼此隔离,互不干扰。

浙公网安备 33010602011771号