Ответ 1
deps = -r{toxinidir}/tools/pip-requires
-r{toxinidir}/tools/test-requires
Наш проект python имеет файл требований. txt, в котором перечислены некоторые зависимые модули. Раньше мы использовали
pip install -r requirements.txt
чтобы установить эти зависимости. Теперь мы используем ток для создания тестовой среды. Мой вопрос в том, как мы можем напрямую установить модули с помощью требования .txt.
Подписанием являются наши tox.ini и requirements.txt:
tox.ini:
[tox]
envlist=py27
[testenv]
deps=pytest
boto
commands=py.test
rquirements.txt:
boto
Можно ли удалить "boto" из tox.ini и добавить что-то вроде
deps_files=requirements.txt
deps = -r{toxinidir}/tools/pip-requires
-r{toxinidir}/tools/test-requires
Что помогло мне в следующем: (другое решение для меня не срабатывало):
deps=
pytest
-rrequirements.txt
Это работает, по крайней мере, если вы добавите requirements.txt
в MANIFEST.in
, и если вы используете относительно новую версию tox ( >= 1.6.1) (см. здесь).
Я уже установил свои зависимости, как в принятом ответе выше, однако любые новые зависимости не были установлены так, как они есть, когда ток запускается в первый раз. Чтобы установить новые зависимости в virtualenv, мне пришлось заставить ток обновить среду следующим образом:
tox --recreate -e py27
Вы можете устанавливать зависимости и тестовые зависимости в requirements.txt
и requirements.testing.txt
для корневого каталога.
Поместите tox.ini
в корневую директорию вашего проекта, и вы можете использовать нижеприведенный подход для установки зависимостей.
[testenv]
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/requirements.testing.txt
В дополнение к зависимостям обновления
[testenv]
deps = -Ur{toxinidir}/requirements.txt
-Ur{toxinidir}/requirements.testing.txt