pip install -e 与不带-e的区别及查看方法
日常使用pip安装Python包时,经常会看到两种安装方式:pip install -e . 和 pip install .,很多人不清楚两者的区别,尤其是在配置训练环境(如mmseg)、打包环境迁移时,容易踩坑。今天用最直白的话,讲清两者区别+查看方法,新手也能看懂。
一、核心区别:带-e(可编辑模式)vs 不带-e(普通安装)
两者的核心差异,在于「包的安装方式」和「使用场景」,用表格总结最清晰,不用记复杂原理:
| 对比维度 | pip install -e . (可编辑模式) | pip install . (普通安装) |
|---|---|---|
| 安装本质 | 不复制代码到Python库目录,仅创建「快捷方式」,指向本地源码文件夹 | 将本地源码复制到Python库目录,完全安装到环境中 |
| 源码修改 | 修改本地源码后,无需重新安装,直接生效 | 修改本地源码后,必须重新安装才能生效 |
| 环境打包 | 打包后会失效(快捷方式路径不匹配),需额外处理 | 打包后可直接迁移,无需额外操作 |
| 适用场景 | 开发阶段(频繁修改源码,如调试mmseg) | 部署/迁移阶段(环境稳定,无需修改源码,如mmseg训练环境打包) |
二、关键提醒(结合mmseg场景)
如果你像我一样,需要打包mmseg训练环境,迁移到另一台电脑直接使用,优先选 pip install .(不带-e)!
因为带-e安装的mmseg,打包环境时会因「快捷方式路径」问题失效,迁移后还需要重新执行 pip install -e .,非常麻烦;而不带-e安装,打包后解压就能直接训练,零额外操作。
三、如何查看:哪些包是带-e安装的?
教你3个简单命令,复制粘贴就能查看,优先推荐前2个(最快捷),适配Windows/Linux/Mac。
方法1:直接查看所有可编辑包(推荐)
在你的环境中(如激活mmseg环境后),运行命令:
pip list -e
✅ 输出结果说明:
如果有内容(如下),说明这些包是带-e安装的(后面会显示本地源码路径):
Package Version Editable project location
-------------- ------- -----------------------------
mmsegmentation 1.2.2 e:\kongen\mmsegmentation-main
如果没有任何输出,说明当前环境没有带-e安装的包,可直接打包迁移。
方法2:查看所有包,标记可编辑包
运行命令:
pip list
✅ 识别方法:版本号后面跟着「本地路径」的,就是带-e安装的包(如下):
numpy 1.26.2
mmsegmentation 1.2.2 e:\kongen\mmsegmentation-main
torch 2.1.0
方法3:过滤可编辑包(适合批量查看)
Windows系统运行:
pip freeze | findstr "^-e"
Linux/Mac系统运行:
pip freeze | grep "^-e"
✅ 输出结果:仅显示带-e安装的包,简洁高效。
四、总结(新手必看)
-
开发调试(改源码)→ 用
pip install -e .,方便实时生效; -
环境打包/迁移(不改源码)→ 用
pip install .,打包后直接用; -
查看带-e包 → 优先用
pip list -e,一眼分清。
不用死记原理,记住「开发用带-e,迁移用不带-e」,就能避开大部分坑~
(注:文档部分内容可能由 AI 生成)

浙公网安备 33010602011771号