python setup.py install --user和pip install -e .的区别
python setup.py install --user
和 pip install -e .
都是用于安装本地包的命令,但它们的用途和行为有显著区别:
1. python setup.py install --user
功能
- 将包以 正式安装 的方式复制到用户目录(
~/.local/lib/pythonX.X/site-packages/
)。 - 代码会被编译并安装为 静态副本,与原项目目录脱钩。
特点
优点 | 缺点 |
---|---|
✅ 安装后可直接运行(如命令行工具) | ❌ 修改代码后需重新安装 |
✅ 适合发布后的稳定版本 | ❌ 不适用于开发调试 |
2. pip install -e .
(可编辑模式安装)
功能
- 通过创建 符号链接(symlink)将包安装到 Python 环境,但代码仍保留在原目录。
- 修改代码会 实时生效,无需重新安装。
特点
优点 | 缺点 |
---|---|
✅ 代码修改即时生效 | ❌ 不适合生产部署 |
✅ 保留版本控制(如 Git) | ❌ 可能增加环境复杂度 |