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 ~
|
小提示
pyenv virtualenv 3.14.7 myenv,3.14.7必须是pyenv已经install过的版本。
- 不要手动用
python -m venv和pyenv混用,尽量统一用pyenv‑virtualenv。
- 删除环境直接
pyenv virtualenv‑delete xxx,不要手动删文件夹。
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 |
删除虚拟环境 |