Есть ли у python новое "пиковое колесо" для поддержки колес для зависимостей, перечисленных в test_requires?
Я использую setuptools 'tests_require', чтобы указать зависимости, необходимые для тестирования моего пакета.
tests_require - http://pythonhosted.org/distribute/setuptools.html#new-and-changed-setup-keywords
Я начал использовать колесную упаковку
http://wheel.readthedocs.org/en/latest/
и построение каталога колес для моих текущих пакетов и всех их зависимостей.
pip wheel --wheel-dir=/tmp/wheelhouse .
Однако я хотел бы также создать колеса для всех пакетов, перечисленных в любом из пакетов tests_require.
Очевидно, я мог бы явно указать требования в дубликат файла test_requirements.txt:
pip wheel --wheel-dir=/mnt/wheelhouse -r test-requirements.txt
Но затем я дублирую зависимости как в файле требований теста, так и в списке tests_require. Я мог прочитать файл требований теста в test_require, но, похоже, это неправильное использование файлов требований, которые, насколько я понимаю, предназначены для того, чтобы пользователи могли контролировать определение среды пакетов, которые, как известно, работают вместе.
Requirements files - http://www.pip-installer.org/en/latest/cookbook.html
Ответы
Ответ 1
Нет, нет явной поддержки для этого. Самый простой способ сделать это - добавить extra
к вашему setup.py:
setup(
extras_require={
"test": ["pytest", "your other requirements"],
},
)
Вы можете, конечно, повторно использовать те же list
, что и для test_requires
, тогда вы можете pip wheel .[test]
, и это сделает колеса для всех этих.