
最近换了新电脑,重配开发环境,用三个小工具搞定 Python、JDK,依赖切换简简单单。
一、jir — Windows 上的 JDK 版本管家
它是什么?
jir 是一个 Windows 平台的 JDK 版本管理器,开源在 GitHub(rururunu/Jir)。它能让你在同一台电脑上安装多个版本的 JDK,随时切换,互不冲突。
用作者的话说:"在 Windows 上像 nvm 管 Node.js 一样管 JDK。"
解决什么问题?
- 旧项目用
JDK 8,新项目用 JDK 21,手动改环境变量烦死了 - 不同发行版(Temurin / Corretto / Zulu / Oracle)各有优劣,想换就换
- 环境变量
JAVA_HOME 改来改去,改完忘了改回去,下次启动报错一脸懵
核心原理
jir 使用 Windows 的 Junction(目录链接) 技术。每个安装的 JDK 都存在自己的目录里,切换版本时,jir 自动把 JAVA_HOME 指向对应的 JDK 目录 —— 其他程序无感知,秒切完成。
如何安装?
去 GitHub Releases 页面下载 .exe 安装器,双击一路下一步即可。安装完打开终端,输入:jir --version
看到版本号就装好了。
常用命令
# 查看所有可安装的 JDK 列表 jir list # 安装一个 JDK(例如 Temurin JDK 21) jir install temurin-21 # 切换到某个已安装的 JDK jir use temurin-21 # 查看当前正在使用的 JDK 版本 jir current # 卸载某个 JDK jir remove temurin-11
亮点速览
🔧 支持多发行商Temurin、Corretto、Zulu、Oracle OpenJDK……主流 JDK 发行版全支持,一条命令换源。⚡ Junction 秒切不是改环境变量再重启,而是目录联接。切换立即生效,所有终端和 IDE 同步感知。🖱️ GUI 安装器不需要配任何东西,双击 .exe 即装即用。对 Windows 用户极度友好。
✦ ✦ ✦
二、pyenv-win — Windows 上的 Python 版本管家
它是什么?
pyenv-win 是 macOS/Linux 上大名鼎鼎的 pyenv 的 Windows 移植版。让你在一台 Windows 电脑上安装并管理多个 Python 版本。
解决什么问题?
- 项目 A 要
Python 3.8,项目 B 要 Python 3.12,装两个 Python 互相打架 pip- 虚拟环境虽然能隔离包,但不能隔离 Python 版本本身
pyenv-win 让这些问题全部消失。每个项目目录里放一个 .python-version 文件,进入目录自动用对应版本 —— 完全无感。
如何安装?
方法一:PowerShell 一键安装(推荐)
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
方法二:pip 安装
pip install pyenv-win --target %USERPROFILE%\.pyenv
装完后重启终端,输入 pyenv --version 验证。
方法三:手动安装(推荐)
1.下载:访问 GitHub 上的 pyenv-win 仓库(github.com/pyenv-win/pyenv-win)点击绿色的 Code → Download ZIP。若打不开,去 Releases 页面下载Source code (zip)。2.解压:在C:\Users\你的用户名\ 下新建 .pyenv 文件夹,将 ZIP 解压进去。确保路径为:.pyenv\pyenv-win\bin\pyenv.exe。3.加 PATH:打开“编辑系统环境变量” → 系统变量的 Path → 新建两行:C:\Users\你的用户名\.pyenv\pyenv-win\binC:\Users\你的用户名\.pyenv\pyenv-win\shims4.重启终端,输入 pyenv --version 验证成功。
常用命令
# 查看所有可安装的 Python 版本 pyenv install --list # 安装指定版本 pyenv install 3.11.9 # 设置全局默认版本 pyenv global 3.11.9 # 为当前目录设置版本(进目录自动切) pyenv local 3.8.10 # 查看当前使用的版本 pyenv version # 查看已安装的所有版本 pyenv versions
亮点速览
📁 目录级自动切换pyenv local 3.8.10 会在当前目录生成 .python-version 文件。以后每次 cd 进来,自动切到 Python 3.8.10,cd 出去就恢复成全局版本。🔄 和虚拟环境完美配合pyenv 管 Python 版本,venv 管包隔离。两个工具各司其职,互不干扰。📦 版本库齐全从 Python 2.7 到 3.13,所有正式版本都能装。想测试兼容性?一行命令搞定。
✦ ✦ ✦
三、pipenv — Python 依赖和虚拟环境一站式管理
它是什么?
pipenv 是 Python 社区广泛认可,且曾一度被官方文档重点推荐的包管理与虚拟环境工具。它把 pip 和 virtualenv 合二为一,让你不用再分别记住两套命令。
简单说:pipenv = pip + virtualenv,但体验好十倍。
解决什么问题?
pip installrequirements.txt- 每次新建项目都要手动创建虚拟环境、激活、再 pip install,步骤多到烦
核心原理
pipenv 为每个项目维护两个文件:Pipfile 记录依赖声明(类似 package.json),Pipfile.lock 记录精确版本和哈希值(类似 package-lock.json)。有了锁文件,任何人在任何机器上安装,得到的依赖版本完全一致 —— 真正消除"我这儿能跑"问题。
如何安装?
一行命令搞定,全平台通用:
装完输入 pipenv --version 验证。如果提示找不到命令,把 Python 的 Scripts 目录加到 PATH 即可。
常用命令
# 初始化项目(如果目录为空,建议指定一个包或 Python 版本以自动创建 Pipfile)pipenv install # 安装一个依赖包 pipenv install requests # 安装开发环境专用依赖(如测试框架) pipenv install pytest --dev # 激活虚拟环境(进入子 Shell) pipenv shell # 在虚拟环境中运行一条命令 pipenv run python main.py # 查看依赖关系树 pipenv graph # 生成 / 更新锁文件 pipenv lock # 卸载某个包 pipenv uninstall requests
亮点速览
🔒 确定性构建Pipfile.lock 记录每个包的精确版本 + 哈希值。任何人装都是同一套依赖,告别"我这儿能跑"。🧩 和 pyenv-win 完美分工pyenv-win 管 Python 版本(3.8 / 3.12),pipenv 管项目依赖和虚拟环境。一个管"用哪个 Python",一个管"装哪些包"。📊 依赖可视化pipenv graph 直接画出整个依赖树,谁依赖了谁一目了然。排查冲突时特别好用。
✦ ✦ ✦
四、总结:三板斧齐全,环境不求人
这三个工具解决了开发环境配置的三个层面:
jir 管 JDK 版本 → pyenv-win 管 Python 版本 → pipenv 管项目依赖和虚拟环境。层层递进,全覆盖。
装完新电脑,第一件事装上它们,以后所有项目直接用命令切版本、管依赖,干净利落。
| | | |
|---|
| jir list -i | pyenv install --list | |
| jir install temurin-21 | pyenv install 3.11.9 | pipenv install requests |
| jir use temurin-21 | pyenv global 3.11.9 | |
| | pyenv local 3.8.10 | pipenv shell |
| jir current | pyenv version | pipenv --venv |
| jir list | pyenv versions | pipenv graph |
| | | pipenv lock |
jir 管 Java JDK,pyenv-win 管 Python 版本,pipenv 管项目依赖三层分工,新电脑环境一招搞定 ✓
🔗 工具地址jirgithub.com/rururunu/Jirpyenv-wingithub.com/pyenv-win/pyenv-winpipenvgithub.com/pypa/pipenv
如果这篇文章帮你省了十分钟折腾环境变量的时间,那就够了 ✌️
长按二维码关注我们吧
极客·黑客·游戏·音乐·摄影