Bitbucket流水线执行单元测试报错No module named 'numpy'如何解决
问题原因
- Bitbucket Pipelines的每个
step会独立启动全新容器,不同step之间的环境、安装的软件包完全不共享。 - 你当前的配置将依赖安装和单元测试拆分到了两个不同step,依赖仅在第一个step中安装,第二个执行测试的step是未安装任何项目依赖的干净Python环境,因此抛出numpy找不到的报错。
解决方案
推荐直接合并两个step,在同一个容器中完成依赖安装和测试执行,修改后的bitbucket-pipelines.yml配置如下:
image: python:3.7.3 pipelines: default: - step: caches: - pip script: - pip3 install --upgrade pip setuptools wheel - pip3 install -r requirements.txt - python3 -m unittest discover -vp 'Test*.py'
如果确实需要拆分step,你可以选择以下任一方案:
- 在第二个测试step中重新执行一遍
pip3 install -r requirements.txt安装依赖 - 把第一个step安装的依赖目录配置为
artifact传递到第二个step(配置复杂度更高,无特殊需求不推荐)
内容的提问来源于stack exchange,提问作者HAL9000
相关产品推荐
相关产品推荐

