pyenv 常用指令

pyenv:多 Python 版本管理工具,切换全局 / 本地 /shell 的 python 版本

Posted by chanweiyan on August 8, 2026

pyenv 常用命令

pyenv:多 Python 版本管理工具,切换全局/本地/shell 的 python 版本

版本查看

1
2
3
4
5
6
7
8
# 查看pyenv本身版本
pyenv --version

# 列出本机已安装的python版本
pyenv versions

# 查看当前生效的python版本
pyenv version

安装/卸载 Python

1
2
3
4
5
6
7
8
# 查询可安装的所有python版本(非常长)
pyenv install --list

# 安装指定版本
pyenv install 3.14.7

# 卸载某个版本
pyenv uninstall 3.14.7

切换版本(3种作用域)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1.全局:整个系统默认版本,写入 ~/.pyenv/version
pyenv global 3.14.7

# 2.本地:当前目录及子目录生效,生成 .python-version 文件(项目级)
pyenv local 3.13.15

# 3.shell:仅当前终端会话生效,关闭终端失效
pyenv shell 3.14.7

# 取消本地版本(删除 .python-version)
pyenv local --unset

# 取消shell会话版本
pyenv shell --unset

镜像加速小技巧(国内下载慢)

1
2
3
4
# 安装前设置国内镜像,加速下载
export PYENV_ROOT="$HOME/.pyenv"
export PYTHON_BUILD_MIRROR_URL="https://mirrors.tuna.tsinghua.edu.cn/python"
pyenv install 3.14.7

常用辅助命令

1
2
3
4
5
6
7
8
# 刷新shims(安装完版本/包后执行,刷新软链接)
pyenv rehash

# 查看pyenv环境信息
pyenv whence python

# 查看帮助
pyenv help

环境初始化(必须加到shell配置 ~/.zshrc / ~/.bashrc)

1
2
3
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

工作流程示例

1
2
3
4
5
6
7
# 1.安装
pyenv install 3.14.7
# 2.项目目录设置本地版本
cd myproject
pyenv local 3.14.7
# 3.之后此目录下 python/pip 自动使用3.14.7
python --version

注意:pyenv 只管理 Python 解释器,虚拟环境建议搭配 pyenv‑virtualenv 插件。

pyenv‑virtualenv 常用命令

插件:pyenv‑virtualenv,给 pyenv 的各个 Python 版本创建独立虚拟环境。 前提:已经装好 pyenv,并且安装插件 git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

shell 配置追加(~/.zshrc / ~/.bashrc)

在原有 pyenv init 后面加上这行,实现自动激活虚拟环境:

1
2
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

⚠️加上后,进入存有.python-version且是虚拟环境的目录,会自动activate;离开目录自动deactivate。

核心命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 基于指定Python版本,创建虚拟环境
# 格式:pyenv virtualenv <python版本> <环境名>
pyenv virtualenv 3.14.7 myenv314

# 列出所有虚拟环境
pyenv virtualenvs

# 在当前项目绑定虚拟环境(写进 .python-version,自动激活)
pyenv local myenv314

# 手动激活虚拟环境
pyenv activate myenv314

# 手动退出虚拟环境
pyenv deactivate

# 删除虚拟环境
pyenv virtualenv-delete myenv314

完整实操示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 1.使用pyenv的python版本
pyenv global 3.14.7

# 2.创建虚拟环境
pyenv virtualenv 3.14.7 project‑demo‑env

# 3.进入项目文件夹,绑定该虚拟环境
cd ~/code/demo
pyenv local project‑demo‑env

# 此时目录下 .python-version 文件内容为 project‑demo‑env
# 进入目录自动激活,pip安装包全部隔离在此环境
pip install requests

# 换目录自动退出虚拟环境
cd ~

小提示

  1. pyenv virtualenv 3.14.7 myenv3.14.7必须是pyenv已经install过的版本。
  2. 不要手动用python -m venv和pyenv混用,尽量统一用pyenv‑virtualenv。
  3. 删除环境直接pyenv virtualenv‑delete xxx,不要手动删文件夹。
  4. pyenv versions会同时显示普通Python版本和virtualenv环境。

常见坑

  • 自动激活不生效:检查eval "$(pyenv virtualenv-init -)"是否写在shellrc,source生效或者重启终端。
  • pip安装包不生效:确认当前pyenv版本是虚拟环境,执行pyenv version确认。

对比小结

命令 作用
pyenv global 全局Python解释器
pyenv local 目录绑定版本/虚拟环境
pyenv virtualenv 创建虚拟环境
pyenv activate 手动开启虚拟环境
pyenv virtualenv‑delete 删除虚拟环境