pip-compile生成requirements.in绝对路径问题求助
解决pip-tools生成requirements-dev.txt时依赖注释显示绝对路径的问题
环境信息
- Python 版本:3.12
- pip-tools 版本:7.4.1
- 项目结构:
requirements-dev.in 中包含/projectdir ├── requirements/ │ ├── requirements.in │ ├── requirements.txt │ ├── requirements-dev.in │ └── requirements-dev.txt └── Makefile-r requirements.in
问题描述
执行Makefile中的pip-compile命令后,生成的requirements-dev.txt里aws-lambda-powertools的依赖注释中出现requirements.in的绝对路径,期望显示相对路径 -r requirements.in
解决方案
方法1:切换到requirements目录执行pip-compile
修改Makefile中的编译命令,先进入requirements目录再执行pip-compile,工具会以该目录为基准解析相对路径:
compile-dev: cd requirements && pip-compile requirements-dev.in
方法2:使用--directory(-C)参数指定工作目录
通过pip-compile的--directory(简写-C)参数,指定requirements目录作为解析路径的基准:
compile-dev: pip-compile -C requirements requirements/requirements-dev.in
验证
执行修改后的Makefile命令(如make compile-dev),打开生成的requirements-dev.txt,检查aws-lambda-powertools相关的依赖注释,此时应该显示相对路径 -r requirements.in。
注意:确保未设置会强制生成绝对路径的环境变量(如PIP_COMPILE_OPTIONS),避免覆盖上述设置。
内容的提问来源于stack exchange,提问作者Tarun
相关产品推荐
相关产品推荐

