Что такое Python Wheels?

Ответ

Python Wheels (.whl) — это стандартный формат бинарного дистрибутива для пакетов Python, предназначенный для ускорения и упрощения установки. В отличие от исходных дистрибутивов (sdist), Wheels содержат предварительно скомпилированные файлы, что устраняет необходимость компиляции на стороне пользователя.

Основные преимущества:

  • Быстрая установка: Отсутствие необходимости компиляции C-расширений или других нативных компонентов значительно сокращает время установки.
  • Меньше зависимостей: Для установки пакета не требуется наличие компилятора (например, GCC) или других специфических инструментов сборки на целевой системе.
  • Кросс-платформенность: Поддерживают различные платформы и версии Python через специальные теги (например, manylinux, win_amd64, py3-none-any), что позволяет создавать универсальные или специфические для ОС дистрибутивы.
  • Надежность: Уменьшают вероятность ошибок, связанных с компиляцией или отсутствием необходимых зависимостей сборки.

Пример создания Wheel:

Для создания Wheel-файла из вашего пакета, убедитесь, что у вас установлен пакет wheel, а затем используйте setuptools:

pip install wheel
python setup.py bdist_wheel

Это создаст файл .whl в директории dist/.

Установка Wheel-файла:

pip автоматически предпочитает Wheels при установке пакетов. Если у вас есть локальный .whl файл, вы можете установить его так:

pip install package_name.whl

Wheels являются рекомендуемым способом дистрибуции для большинства Python-пакетов, особенно для тех, которые включают нативные расширения (например, NumPy, Pandas, SciPy).