Я впервые пытаюсь настроить Circle-CI для своего приложения. Это приложение на python 3.7.0 с несколькими тестами. Приложение прекрасно собирается, но не запускается при выполнении тестового задания. Локально тесты работают нормально, поэтому я предполагаю, что мне не хватает конфигурации Circle-CI?
Это мой yaml:
version: 2.0
jobs:
build:
docker:
- image: circleci/python:3.7.0
steps:
- checkout
- run:
name: "Run tests"
command: python -m unittest
Это ошибка:
=============================================== =======================
ОШИБКА: tests.test_auth (unittest.loader._FailedTest)
ImportError: Ошибка импортировать тестовый модуль: tests.test_auth Traceback (последний вызов был последним): файл "/usr/local/lib/python3.7/unittest/loader.py", строка 434, в _find_test_path module = self._get_module_from_name (name) ) Файл "/usr/local/lib/python3.7/unittest/loader.py", строка 375, в _get_module_from_name import (имя) файла "/ home / circleci / project / tests / test_auth .py ", строка 5, из werkzeug.datastructures import MultiDict ModuleNotFoundError: Нет модуля с именем 'werkzeug'
Что мне не хватает?
РЕДАКТИРОВАТЬ:
Я добавил pip install -r requirements.txt
, но теперь получаю:
Не удалось установить пакеты из-за EnvironmentError * 10 29 *: Errno 13] В доступе отказано: '/usr/local/lib/python3.7/site-packages/MarkupSafe-1.1.1.dist-info'
РЕДАКТИРОВАТЬ :
В дополнение к ответу приведена полная конфигурация yaml:
version: 2.0
jobs:
build:
docker:
- image: circleci/python:3.7.0
steps:
- checkout
- run:
name: "Install dependencies"
command: |
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip
pip install --no-cache-dir -r requirements.txt
- run:
name: "Run tests"
command: |
. venv/bin/activate
python -m unittest