Итак, я провел исследование о топи c, которое я кратко объясню ниже. Надеюсь, что это поможет любому другому новичку с тем же вопросом.
О спецификациях совместимости платформы пакетов для pip и PyPi
Мой вопрос был по существу: "Могу ли я установить classifiers=['Operating System :: OS Independent']
для пакета PyPi на setup.py, даже если то, что я делаю с setup.py, генерирует дистрибутивы, специфичные для ОС c .whl? "
Ответ - да. Аргумент classifiers
должен содержать информацию о совместимости, которая будет отображаться для пользователя на PyPi или другом распространяющем сервисе, но он не влияет на совместимость для отдельных машинных c колес и должен отражать пакет в целом.
Проверяя файл setup.py на scipy, например, получаем:
CLASSIFIERS = """A :: Bunch :: Of :: Other :: Non-OS related info
Operating System :: Microsoft :: Windows
Operating System :: POSIX
Operating System :: Unix
Operating System :: MacOS"""
Совместимость ОС с дистрибутивом колеса, проверяемая при установке через pip - которая эффективно ограничивает совместимость вашего колеса с различными операционными системами - устанавливается скорее по информации, указанной в самом колесе, на основе вашей хост-системы при компиляции для себя или для гостя, указанного для колеса опцией --platform-name
, например, при использовании кросс-компиляции для колес между Windows машинами .