Как использовать маркеры среды с файлами требований в файле setup.cfg?

#python

Вопрос:

У меня есть зависимости, которые я хотел бы получить с помощью файла требований к тестированию, который зависит от среды

 [testenv]
deps =
    setuptools
    -r test-requirements.lock.txt ; sys_platform == 'win32'
    -r test-requirements-linux.lock.txt ; sys_platform == 'linux'
 

Проблема, с которой я сталкиваюсь, заключается в том, что маркеры среды игнорируются при использовании -r .

 ERROR: Could not open requirements file: [Errno 2] No such file or directory: "test-requirements.lock.txt ; sys_platform == 'win32'"`
 

Однако -r это необходимо для обозначения того, что зависимость является файлом требований.

Как я могу ввести правильный файл требований в зависимости от маркеров среды в setup.cfg?

Ответ №1:

Одним из решений является использование спецификаций платформы tox: https://tox.readthedocs.io/en/latest/example/platform.html

 [testenv]
deps =
    setuptools
    linux: -rtest-requirements-linux.lock.txt
    windows: -rtest-requirements.lock.txt