Есть ли у 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], и это сделает колеса для всех этих.