‘pip install -e .‘ and ‘pip install .‘

Content

  • [1️⃣ `pip install -e .`](#1️⃣ pip install -e .)
  • [2️⃣ `pip install .`](#2️⃣ pip install .)
  • [3️⃣ 两者核心区别](#3️⃣ 两者核心区别)
  • [4️⃣ 举个最直观例子](#4️⃣ 举个最直观例子)
  • [5️⃣ 实际开发中怎么用](#5️⃣ 实际开发中怎么用)
  • [6️⃣ 一个很多人不知道的小知识](#6️⃣ 一个很多人不知道的小知识)

这两个命令都是用来 安装当前目录中的 Python 项目 (通常包含 setup.py 或 pyproject.toml),但行为不同。


1️⃣ pip install -e .

含义:

  • -e 表示 editable(可编辑模式)
  • . 表示 当前目录

完整含义:

以 可编辑模式安装当前 Python 项目

工作原理

pip 不会复制代码到 site-packages ,而是创建一个 链接(link) 指向当前目录。

因此:

  • 你修改源码
  • 不需要重新安装
  • Python 会 立即使用最新代码

常见使用场景

开发阶段:

例如开发一个库:

复制代码
my_project/
│
├── mylib/
│   ├── __init__.py
│   └── model.py
│
└── setup.py

执行

复制代码
pip install -e .

然后:

python 复制代码
import mylib

如果你修改:

复制代码
mylib/model.py

无需重新安装,修改立刻生效。

所以:

pip install -e . = 开发者模式安装


2️⃣ pip install .

含义:

正常安装当前项目

执行后:

  • pip 会

    • 打包项目

    • 复制到

      site-packages/

例如:

复制代码
/usr/lib/python3.x/site-packages/

此时:

  • 代码 与当前目录脱离
  • 修改源码 不会影响已安装版本

如果修改源码,需要重新安装:

复制代码
pip install .

3️⃣ 两者核心区别

命令 安装方式 修改代码是否生效 用途
pip install -e . 链接到源码 ✅ 立即生效 开发
pip install . 复制到site-packages ❌ 不生效 发布/使用

4️⃣ 举个最直观例子

假设你开发一个包:

复制代码
hello_pkg/
 ├── hello/
 │   └── say.py
 └── setup.py

使用

复制代码
pip install -e .

然后:

python 复制代码
from hello.say import hi

如果你改:

复制代码
say.py

程序 立刻使用新代码。


使用

复制代码
pip install .

然后改:

复制代码
say.py

程序 不会改变,因为运行的是:

复制代码
site-packages/hello/

5️⃣ 实际开发中怎么用

开发库时 100%用这个

复制代码
pip install -e .

例如常见项目:

  • ROS python packages
  • PyTorch projects
  • OpenAI projects
  • Huggingface projects

6️⃣ 一个很多人不知道的小知识

pip install -e . 本质上做的是:

创建一个

复制代码
site-packages/xxx.egg-link

文件,里面写着:

复制代码
/path/to/your/project

Python 导入模块时就会跳转到源码目录。


✅ 一句话总结

复制代码
pip install -e .  → 开发模式安装(源码链接)
pip install .     → 正式安装(复制代码)
相关推荐
沧海一笑-dj1 天前
【Python】Python学习笔记-模块与包
python·pip·模块·包·python包·python模块·包与模块
郝学胜-神的一滴3 天前
AI 编程智能体 16:从零基础搭建到精细化优化
人工智能·python·算法·语言模型·langchain·pip
万粉变现经纪人5 天前
如何解决 pip install 安装报错 检测到 yanked 版本需更换可用版本 问题
人工智能·python·scrapy·numpy·pandas·pyqt·pip
jiangliushi67 天前
GPT-6.1 Sol 免费用:pip install 太慢、超时?换清华镜像,再让 Codex 帮你写脚本
gpt·pip
看我debug10 天前
Android 运行时分析工作台 (Demo)。统一管理 Frida 脚本、自动注入(修改运行时代码)、收集结构化结果、生成 JSON 报告。
android·python·pip
Escalating_xu24 天前
【Python】使用库:标准库、第三方库、pip、项目实战与程序打包
java·python·pip
青春不朽5121 个月前
pip 安装慢、超时、报错?一份国内源配置 + 9 个高频报错对照表
pip
ysu_03141 个月前
uv实战指南-从Python版本虚拟环境到pyproject依赖管理
开发语言·python·pip·uv·虚拟环境·包管理·依赖管理
伞伞悦读1 个月前
【第39期】Python 第三方包安装详解:pip、conda、requirements、版本锁定和镜像源
python·conda·pip