У меня есть несколько тщательно настроенных conda
сред, созданных с использованием Anaconda.Я написал пакет Python, который использует некоторые из пакетов и библиотек, установленных в этих средах.Теперь я хотел бы запустить тесты с каждым тестовым файлом, выполняемым для каждой среды, чтобы убедиться, что пакет может обрабатывать работу с различными версиями Python и различным набором доступных пакетов сторонних производителей.
Использование tox
didне работает для меня, потому что он пытается воссоздать эти среды локально для запуска тестов.Вот как выглядит мой tox.ini
файл:
[tox]
envlist = py36, py27
skipsdist = True
[testenv]
basepython =
py36: C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env1\python.exe
py27: C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env2\python.exe
commands =
{envpython} -m unittest discover
Однако невозможно просто сделать pip install
в средах, которые tox
создает при каждом запуске, в основном из-за того, что есть некоторые скомпилированные библиотеки иОбходные пути (которые решаются в среде conda
- поэтому я должен использовать их как есть).
В настоящее время у меня есть фиктивный файл .bat
со следующим содержимым:
"C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env1\python.exe" -m unittest discover
"C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env2\python.exe" -m unittest discover
, который я выполняю в Windows cmd
, чтобы увидеть результаты.Это работает, но мне интересно, есть ли еще какой-нибудь Pythonic способ запустить эти тесты, такие как py.test
или tox
.Я не хочу воссоздавать окружение conda
, которое у меня уже есть;Я просто хочу использовать разные интерпретаторы Python, доступные в разных местах для выполнения моих тестов.