Причина в том, что мне нужно, чтобы мой venv имел строго контролируемые зависимости, каждая из которых анализировалась и одобрялась SecOps, а покрытие приносило и могло принести в будущем множество неизвестных и неконтролируемых зависимостей.
И, таким образом, покрытие необходимо только для целей разработки. Я не вижу смысла, почему оно должно быть частью моих требований.txt
Есть ли способ обработать это таким образом, чтобы покрытие было установлено в моих локальных/глобальных/пользовательских зависимостях (извините, я новичок в экосистеме Python, просто экстраполирую другие экосистемы на эту), но оно не будет распространяться на мою серверную часть (которая заполняется CI, который устанавливает все, что есть в файле require.txt).
Все это использует pip, и никакой другой менеджер зависимостей не будет или не может быть использован.
Я ошибаюсь Получение заключается в том, что покрытие не может найти зависимости, установленные в моем venv, даже если я запускаю покрытие из активированного venv.
Это методы, которые я пробовал до сих пор, похоже, ничего не работает
Принудительное использование PYTHONPATH
Код: Выделить всё
export PYTHONPATH=`pwd`
coverage run --omit=$omit_paths -m unittest discover
coverage html --omit=$omit_paths
выполнение покрытия, указывающего на файл начальной загрузки, который выполняет обнаружение и заставляет sys.path оставаться таким, какой он есть, при запуске только unittest, что работает отлично
./test/init.py
Код: Выделить всё
...
sys.path = [# EXPORT of sys.path existing when running unittest only]
...
Подробнее здесь: https://stackoverflow.com/questions/687 ... ide-a-venv
Мобильная версия