In my Ci process I have Python requirements.txt setup to install mock and coverage packages. In CircleCi it runs the install portion without errors. How ever when I try to access “coverage” it tells me “No module named coverage”. I would greatly appreciate any help in sorting this out. I figure it is probably something pretty simple.
This is a fairly small project and it is working locally. Unfortunately locally I’m running on a Windows Platform. I have tried rebuilding with and without cache.
Contents of my requirements.txt file:
mock>=2.0.0
coverage>=4.5.1`
Here is the install dependency step output:
#!/bin/bash -eo pipefail
python3 -m venv venv
. venv/bin/activate
pip install -U pip setuptools virtualenv
pip install -r requirements.txtRequirement already up-to-date: pip in ./venv/lib/python3.6/site-packages
Collecting setuptools
Downloading setuptools-38.5.1-py2.py3-none-any.whl (489kB)
98% |███████████████████████████████▍| 481kB 31.4MB/s eta 0:00:01 100% |████████████████████████████████| 491kB 2.2MB/s
Collecting virtualenv
Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
50% |████████████████ | 911kB 34.1 100% |████████████████████████████████| 1.8MB 841kB/s
Installing collected packages: setuptools, virtualenv
Found existing installation: setuptools 28.8.0
Uninstalling setuptools-28.8.0:
Successfully uninstalled setuptools-28.8.0
Successfully installed setuptools-38.5.1 virtualenv-15.1.0
Requirement already satisfied: mock>=2.0.0 in ./venv/lib/python3.6/site-packages (from -r requirements.txt (line 1))
Requirement already satisfied: coverage>=4.5.1 in ./venv/lib/python3.6/site-packages (from -r requirements.txt (line 2))
Requirement already satisfied: six>=1.9 in ./venv/lib/python3.6/site-packages (from mock>=2.0.0->-r requirements.txt (line 1))
Requirement already satisfied: pbr>=0.11 in ./venv/lib/python3.6/site-packages (from mock>=2.0.0->-r requirements.txt (line 1))
Here is the call failure step:
#!/bin/bash -eo pipefail
python -m coverage run --rcfile=…/coverage.cfg -m unittest discover/usr/local/bin/python: No module named coverage
Exited with code 1
I’ve tried at least 10 different ways to get this to work. Here are some of the details of what I’m using:
I am using CircleCi 2.0
I am using Python 3
I am using the circleci/python:3.6.1 Docker image