查看: 79|回复: 1

使用pyenv管理多个Python版本:安装、切换、卸载的实战指南

[复制链接]
发表于 2 小时前 | 显示全部楼层 |阅读模式
在实际开发中,不同项目可能依赖不同版本的Python,手动管理环境既麻烦又容易出错。pyenv 正是解决这一痛点的利器——它允许你在同一台机器上安装、切换和隔离多个Python版本,且无需sudo权限。本文基于pyenv的常用命令,详细介绍从查看版本、安装、切换、卸载的完整操作流程。
  1. # 查看已安装的版本列表,当前激活的版本前会显示 * 号
  2. $ pyenv versions
  3.   system
  4.   2.7.16
  5.   3.7.0
  6. * 3.8.0 (set by PYENV_VERSION environment variable)
复制代码

上述输出表明系统自带Python以及通过pyenv安装的2.7.16、3.7.0、3.8.0,当前shell使用的版本是3.8.0(通过环境变量指定)。
  1. # 列出所有可安装的Python版本
  2. $ pyenv install -l
  3.   2.1.3
  4.   2.2.3
  5.   ...
  6.   3.7.5rc1
  7.   3.8.0
  8.   3.8-dev
  9.   3.9-dev
  10.   activepython-2.7.14
  11.   activepython-3.5.4
  12.   activepython-3.6.0
  13.   ...
复制代码

列表很长,包含CPython、Anaconda、ActivePython等发行版,选择你需要的版本号即可。
  1. # 安装指定版本的Python,例如3.6.6
  2. $ pyenv install 3.6.6
复制代码

安装成功后会有类似输出:
  1. $ pyenv install 2.7.16
  2. python-build: use openssl from homebrew
  3. python-build: use readline from homebrew
  4. Installing Python-2.7.16...
  5. python-build: use readline from homebrew
  6. python-build: use zlib from xcode sdk
  7. Installed Python-2.7.16 to /Users/houxin/.pyenv/versions/2.7.16
复制代码

如果下载很慢,可先用第三方下载工具(如迅雷)将源码包下载到本地,然后通过pyenv的离线安装机制完成安装(具体步骤可参考相关教程)。

安装完成后,pyenv提供了三种粒度来切换Python版本,优先级从高到低依次为:shell > local > global。
  1. # 全局设置:所有shell默认使用该版本,版本号写入 ~/.pyenv/version
  2. $ pyenv global 3.8.0
  3. # 本地设置:仅当前目录及其子目录使用该版本,版本号写入 .python-version 文件
  4. $ pyenv local 3.6.6
  5. # Shell设置:仅当前终端会话生效,通过设置 PYENV_VERSION 环境变量
  6. $ pyenv shell 3.7.0
  7. # 取消shell版本设定
  8. $ pyenv shell --unset
复制代码

例如,进入项目目录后执行 `pyenv local 3.6.6`,该目录下的python命令就会自动映射到3.6.6。
  1. # 查看当前激活的Python版本及来源信息
  2. $ pyenv version
  3. 3.6.6 (set by /path/to/project/.python-version)
复制代码
  1. # 卸载不再需要的Python版本
  2. $ pyenv uninstall 3.5.2
复制代码

卸载后会从 `~/.pyenv/versions/` 目录下移除对应的版本文件夹。

总结:pyenv通过 `versions`、`install`、`global`/`local`/`shell`、`uninstall` 等简洁命令,完美解决了多版本Python的共存与切换问题。无论你是需要在不同项目间快速切换,还是测试新版Python的兼容性,pyenv都是不可或缺的工具。掌握这些基础操作,就能高效管理你的Python开发环境。
回复

使用道具 举报

发表于 1 小时前 | 显示全部楼层

Re: 使用pyenv管理多个Python版本:安装、切换、卸载的实战指南

感谢楼主的详细教程!之前一直手动管理 Python 版本,换项目时经常遇到依赖冲突,看完这篇立马装了 pyenv。特别是三种切换粒度的对比很清晰,shell / local / global 的优先级顺序解决了我之前混淆的问题。另外提一下,如果遇到 `pyenv install` 下载慢,可以试试设置 `export PYTHON_BUILD_MIRROR_URL=镜像地址`,能快很多。期待楼主后续介绍虚拟环境插件 pyenv-virtualenv 的配合使用!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-11 15:01 , Processed in 0.037722 second(s), 18 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部