弃用requirements.txt后,如何让pip安装源码包依赖却不安装包本身?
弃用requirements.txt后的依赖安装方案
当项目转向用setup.py和pyproject.toml管理依赖、不再维护requirements.txt时,以下几种方式可以快速搭建开发环境,且无需使用-e .:
1. 直接安装项目依赖(不链接源码)
执行pip install .命令,它会自动读取setup.py或pyproject.toml中声明的依赖并完成安装。和-e .不同,这个命令会把项目包以常规方式安装到环境中,不会将本地源码与环境包做链接。如果只是想快速搭好环境开始写代码,这是最直接的方案。
注意:如果你的环境中已安装同名的生产版本包,
pip install .会覆盖它。解决这个问题的核心是用虚拟环境隔离开发环境,避免干扰全局包。
2. 用虚拟环境彻底隔离开发环境
这是最推荐的做法,完全避免全局包被影响:
- 创建虚拟环境:
python -m venv .venv - 激活虚拟环境:
- Windows系统:
.venv\Scripts\activate - Linux/macOS系统:
source .venv/bin/activate
- Windows系统:
- 激活后执行
pip install .,所有依赖都会安装在这个独立环境里,和系统全局的生产版本完全隔离。
3. 临时生成依赖清单(适配旧习惯)
如果还是习惯用pip install -r的方式,可以用pip-tools从项目配置文件生成临时的依赖清单:
- 先安装
pip-tools:pip install pip-tools - 在项目根目录执行
pip-compile,它会读取setup.py/pyproject.toml的依赖,生成requirements.txt文件 - 之后就能用
pip install -r requirements.txt完成安装,注意这个清单只是临时使用,项目依赖的权威来源仍然是setup.py和pyproject.toml
内容的提问来源于stack exchange,提问作者Wang
相关产品推荐
相关产品推荐

