Публикация разных версий версии библиотеки на pypi

У меня просто есть несколько общих вопросов о том, как работает pypi. Итак, я хотел бы опубликовать библиотеку, и у меня есть whl-файл и архив. Но я заметил, что это не все, что обычно делается.

Рассмотрим пример: https://pypi.org/project/pandas/1.0.3/#files

1) Похоже, для разных ОС есть разные whl-файлы? Означает ли это, что мне нужно строить на каждой ОС и публиковать разные ОС для каждой? Чем они отличаются? Могу ли я создать один whl-файл в Windows и запустить его в Linux?
2) Я считаю, что разница между whl и tar заключается в том, что tar — это просто исходный код, и для него может потребоваться, чтобы установщик имел какой-либо компилятор в зависимости от в какой библиотеке. Это правда? Whl обходит эту проблему, не так ли?

Спасибо


person WhitneyChia    schedule 07.04.2020    source источник
comment
Оно делает! но уточняющий вопрос. Итак, скажем, в моей библиотеке есть панды в качестве зависимости, в которой есть модули, написанные на C. Означает ли это, что мне также нужно сделать то же самое и иметь другое колесо для каждой версии ОС и Python?   -  person WhitneyChia    schedule 07.04.2020
comment
Нет. Сами колеса не включают зависимости, они только объявляют зависимости. У вас может быть одно универсальное колесо с бинарными зависимостями — pip при установке вашего колеса на каждой платформе будет решать, какую бинарную зависимость загрузить и установить. В приведенных выше примерах: я публикую одно колесо для SQLObject, но pip загружает разные двоичные колеса для внутренних драйверов SQL.   -  person phd    schedule 07.04.2020
comment
Спасибо, это ответ на мой вопрос!   -  person WhitneyChia    schedule 07.04.2020