如何修改pip install命令从指定目录查找requirements中的本地依赖包
解决方案
你可以通过先切换工作目录到requirements.txt所在的仓库根路径,再执行pip安装命令的方式解决这个问题,不需要修改requirements.txt内容,也不会影响第一套流水线的正常运行。
方案1:直接切换工作目录执行
如果执行完安装命令后不需要留在原工作路径,直接使用以下命令即可:
cd /path/to/repo && pip install -r requirements.txt
这种方式执行时,pip的工作目录就是仓库根路径,会自动按/path/to/repo/local_dir/local_pkg.tar.gz的路径查找本地包,完全符合你的需求。
方案2:子shell中切换目录(不影响当前工作路径)
如果你后续还有其他操作需要保留原工作路径,可以用子shell包裹命令,避免切换目录对后续操作产生影响:
(cd /path/to/repo && pip install -r requirements.txt)
子shell执行结束后,你当前的工作路径会保持不变,不影响其他步骤执行。
补充说明
pip本身确实没有专门用于指定requirements相对路径基准目录的参数,因为相对路径的解析逻辑默认就是绑定当前工作目录的,上述切换目录的方案是最通用、兼容性最好的解决方法,不需要修改任何依赖配置,对两套流水线完全无侵入。
内容的提问来源于stack exchange,提问作者CaptainPlanet
相关产品推荐
相关产品推荐

