Как запустить тест python setup.py без установки зависимостей extras_require? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть extras_require зависимости в setup.cfg, перечисленные как:

[extras_require]
tensorflow = tensorflow
tensorflow_gpu = tensorflow-gpu

Таким образом, если мой пакет установлен с pip install pkg[tensorflow_gpu], он устанавливает одну версию пакета, против pip install pkg[tensorflow]который устанавливает другой.

Это похоже на то, как пакеты Edward (после этой проблемы git ).

Однако, когда я запускаюpython setup.py test, он устанавливает оба tensorflow и tensorflow-gpu пакеты перед выполнением моих модульных тестов.Это может быть проблематично, когда я import tensorflow в любых модульных тестах, и зависит от аппаратного обеспечения.

Есть ли способ выборочной установки определенного пакета extras_require при запуске python setup.py test?

Альтернативно есть ли способ установить нет extras_require пакетов?Потому что тогда я могу установить tensorflow перед запуском тестовой команды.

(Примечание: я понимаю, что могу запускать pip и pytest независимо, но я ищу решение, которое использует setuptools)

1 Ответ

0 голосов
/ 21 февраля 2019

Похоже, что это не проблема setuptools, а скорее потенциальная проблема с инструментом, который я использую, называется pyscaffold.Я открыл вопрос вопрос на их github.

Когда я запускаю python setup.py test со следующим setup.cfg, он работает нормально, так как он не вытягивает тензор потока.

[metadata]
name = simple

[options]
package_dir = 
    =src
setup_requires = pytest-runner
install_requires = 
tests_require = pytest

[options.extras_require]
tf = tensorflow

[aliases]
test = pytest

[tool:pytest]
addopts = --verbose
testpaths = tests
...