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/ 目录下,不同版本彼此隔离,互不干扰。

posted @ 2026-01-16 09:18  demodeom  阅读(1)  评论(0)    收藏  举报