GitLab CI流水线添加requests到requirements后仍报错,如何解决?
解决GitLab CI测试阶段依赖缺失问题
问题根源
你的CI测试阶段和Dockerfile的构建流程完全独立:test job直接使用ubuntu:18.04基础镜像,仅安装了Python3和pip,但没有执行pip3 install -r requirements.txt安装依赖——哪怕你已经把requests添加到了requirements.txt,测试环境依然没有加载这些依赖,因此报错找不到requests模块。
修复方案
修改CI配置文件,在测试脚本中添加安装requirements依赖的步骤,注意路径匹配:
image: ubuntu:18.04 stages: - test test: stage: test script: - apt-get update -qy - apt-get install -y python3 python3-pip # 新增:安装requirements.txt中的依赖 - pip3 install -r requirements.txt - cd src - python3 -m unittest test
如果requirements.txt不在项目根目录,调整路径即可(比如文件在根目录的app文件夹下,就写成- pip3 install -r app/requirements.txt)。
额外优化(可选)
为加速CI运行,可添加pip缓存,避免每次重新下载依赖:
image: ubuntu:18.04 stages: - test test: stage: test cache: paths: - ~/.cache/pip/ script: - apt-get update -qy - apt-get install -y python3 python3-pip - pip3 install -r requirements.txt - cd src - python3 -m unittest test
内容的提问来源于stack exchange,提问作者Surly Knott
相关产品推荐
相关产品推荐

