Environment markers добавляют условие к требованию. pip оценивает его для целевого интерпретатора и устанавливает пакет только при истинном выражении, что позволяет описать различия ОС или версий Python.
Запишите условие после точки с запятой
Имя переменной и строковое значение используют синтаксис спецификации markers, а в shell все выражение лучше заключить в кавычки, чтобы оболочка не разобрала символы сама.
Выбирайте устойчивый признак
Для версии применяйте python_version или python_full_version, для системы sys_platform, а platform_machine оставляйте только случаям, где пакет действительно зависит от архитектуры и такая ветка регулярно проверяется отдельным заданием CI.
Тестируйте каждую ветку
Установка на Linux не проверит Windows-условие, поэтому матрица CI должна хотя бы разрешить зависимости и импортировать приложение во всех официально поддерживаемых сочетаниях.
Не используйте marker для сокрытия обычной несовместимости версий, сначала определите реальную границу поддержки и документируйте ее рядом с полной тестовой матрицей проекта.
Организацию нескольких списков показывает материал про директивы -r и -c. Базовый синтаксис входит в спецификацию зависимостей.