Pip wheel что это
Перейти к содержимому

Pip wheel что это

  • автор:

К подготовке и публикации первого пакета Python готовы!

Python стал одним из самых широко используемых языков программирования. Главным образом объясняется это тем, что мы, его обычные пользователи, можем поделиться своим кодом, обеспечивая другим возможность беспрепятственно им пользоваться. А сделать это можно общепринятым способом, упаковав весь код и загрузив его в каталог программного обеспечения Python (Python Package Index или PyPI), с помощью которого пользователи легко и просто установят ваш пакет, используя инструмент pip.

Если у вас был опыт публикации пакета Python, то вы уже знаете, насколько всё просто. Однако новичкам этот процесс ошибочно представляется геркулесовым трудом. В данной статье будут рассмотрены все этапы подготовки пакета и его последующей публикации.

Очевидно, что на первом этапе ваша задача — завершить проект. Однако все понимают, что пакеты никогда не бывают идеальными. Поэтому не будем ждать окончания проекта, а заранее узнаем, как опубликовать пакет.

Для работы с текущим руководством представим, что директория со всеми файлами Python, включая нужный нам python_file_0.py, называется test_package. Именно этот пакет мы и намерены опубликовать. Следуя принципу простоты, файл python_file_0.py содержит лишь следующий код, который будет использован по мере нашей готовности импортировать пакет после его публикации:

1. Подготовка файлов

Перед тем, как углубиться в детали публикации, сначала структурируем директорию с помощью необходимых вспомогательных файлов. Ниже представлена файловая структура пакета:

the_root_dir/ |— README.md |— setup.py |— test_package | |— __init__.py | |— python_file_0.py | |— python_file_1.py | |— python_file_2.py

  • В корневой директории на одном уровне с test_package создайте файл README.md. Он будет содержать необходимую пользователям информацию о пакете, например сведения об установке и инструкции по применению.
  • На этом же уровне находится файл setup.py. Он будет включать информацию, необходимую для подготовки пакета к публикации. Вскоре мы рассмотрим содержимое этого файла.
  • В директории test_package создайте файл __init__.py именно с таким именем. Он трансформирует обычную директорию в пакет Python. Для этого простого пакета просто поместим код в python_file_0.py и экспортируем from test_package.python_file_0 import hello_world.

Файл README

Теоретически для этого файла можно использовать простой текст, но отдав предпочтение файлу Markdown, вы получите разные возможности форматирования и таким образом сделаете его более интересным для чтения. Ниже показан пример простого файла README.md:

Это тестовый пакет, представляющий собой часть обучающего руководства Meduim.

**Текст жирным шрифтом**

*Текст, выделенный курсивом*

Pip wheel что это

What’s on this Page

.WHL вариант №

Файл WHL (Wheel) — это файл пакета дистрибутива, сохраненный в формате колеса Python. Это стандартный формат установки дистрибутивов Python, который содержит все файлы и метаданные, необходимые для установки. Файл WHL также содержит информацию о версиях и платформах Python, поддерживаемых этим файлом колеса. Подобно установочному файлу MSI, формат файла WHL представляет собой готовый к установке формат, который позволяет запускать установочный пакет без создания исходного дистрибутива.

Формат файла WHL

Формат файла WHL представляет собой архив ZIP (.zip), который содержит все установочные файлы и метаданные, необходимые установщикам для установки пакета. Эти файлы WHL можно извлечь с помощью функции распаковки или стандартных приложений для распаковки, таких как WinZIP и WinRAR.

Соглашение об именах файлов WHL

Файл WHL назван в соответствии со следующим соглашением.

Ниже приведен пример имени файла WHL.

cryptography-2.9.2-cp35-abi3-macosx_10_9_x86_64.whl 
  • cryptography — это имя пакета.
  • «2.9.2» — это пакетная версия криптографии. Версия — это строка, совместимая с PEP 440, например 2.9.2, 3.4 или 3.9.0.a3.
  • cp35 — это тег Python, обозначающий реализацию и версию Python, которые требуются для колеса.
  • abi3 — это тег ABI. ABI означает двоичный интерфейс приложения.
  • macosx_10_9_x86_64 — это тег платформы, который довольно многословен.

использованная литература

  • Что такое колеса Python и зачем вам это?
  • Колесо Python

Установка пакетов pip в Python

При разработке софта на «Пайтон» нередко появляется необходимость в использовании программных пакетов, отсутствующих в данный момент на компьютере. В этой ситуации поможет pip install. О том, где взять нужный пакет, как его установить и потом использовать, пойдёт речь в этой статье.

Где взять необходимый пакет pip в Python?

Если вы захотите поработать над задачей, выходящей за рамки базового функционала «Питона», вы неизбежно столкнётесь с необходимостью установки дополнительного программного пакета (package). Это может быть и работа с web, и криптография, и обработка изображений и многое другое. При возникновении такой ситуации у пользователя появятся закономерные вопросы: — какой именно программный пакет содержит необходимый функционал; — как найти этот пакет; — где скачать; — как разместить и приступить к использованию.

В теории все эти действия можно выполнить вручную, однако зачем это делать, когда процесс можно автоматизировать? Да и скачивать программные пакеты с непроверенных сайтов небезопасно.

Прекрасным решением станет использование PyPI (Python Package Index) — открытого репозитория, предназначенного для разработчиков Python. В репозитории можно найти программные пакеты, позволяющие решать почти любые поставленные задачи. Есть возможность выгружать туда и собственные пакеты. А чтобы выполнять их скачивание и установку, используется специальная программа по имени pip (пип).

Пакетный менеджер pip

Pip представляет собой консольную программу, не имеющую графического интерфейса. После её скачивания и установки утилита пропишется в PATH, в результате чего pip станут доступны для применения.

Запускать эту программу можно как в самостоятельном виде, так и с помощью «Пайтон»-интерпретатора.

С помощью интерпретатора:

 
> python -m pip

В последнем случае обратите внимание на ключ –m. Он значит, что выполняется запуск модуля (в нашем случае это pip).

Устанавливаем pip на Python. Как установить pip?

Начиная с Python 2.7.9 и 3.4, эта программа инсталлируется по дефолту. Если же у вас другая версия Python либо утилита по каким-то причинам не установлена, решить вопрос можно без особых затруднений и несколькими способами. Для начала рассмотрим самый универсальный и работающий в большинстве случаев.

Предполагается, что Python уже инсталлирован (installed). Далее скачиваем скриптовый файл get-pip.py:

 
> curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 

А потом выполняем его:

 
> python get-pip.py 

Одновременно с pip инсталлируются setuptools и wheels. Wheels представляет собой формат пакетного дистрибутива, setuptools – набор инструментов, необходимых для пакетного построения.

Linux-установка

Пользователи Linux могут воспользоваться для инсталляции встроенным в дистрибутив менеджером пакетов. Ниже вы увидите соответствующие команды для некоторых операционных систем Linux (рассматривается лишь Python 3, т. к. Python 2 устарел и, как утверждают разработчики, его поддержка вскоре прекратится).

Screenshot_1-1801-052b86.png

Обновляем pip

При работе с операционной системой Windows команда обновления следующая:

Screenshot_2-1801-24b7d3.png

Пользователям Linux следует запустить:

Screenshot_3-1801-5dd647.png

Применение pip

Теперь пришло время поговорить про особенности использования этой утилиты на Python. Речь идёт уже о непосредственной установке пакетов, их удалении и обновлении.

Устанавливаем пакеты pip в Python

Утилита обеспечивает инсталляцию: — последней версии; — конкретной версии; — с помощью логического выражения, позволяющего определить, что требуется версия не ниже указанной.

Также поддерживается инсталляция непосредственно из нужной папки репозитория.

Как выглядят все эти варианты, можно посмотреть ниже.

Устанавливаем последнюю версию:

 
> pip install ProjectName 

Устанавливаем конкретную версию:

 
> pip install ProjectName==2.8 

Инсталлируем пакет, имеющий версию не ниже 2.9:

 
> pip install ProjectName>=2.9 

Инсталлируем пакет Python из репозитория Git:

 
> pip install -e git+https://gitrepo.com/ProjectName.git 

Инсталлируем посредством альтернативного индекса:

 
> pip install --index-url http://pypackage.com/ ProjectName 

Инсталлируем пакет из локальной директории (папки):

 
> pip install ./dist/ProjectName.tar.gz 
Другие операции

Для выполнения удаления подходит простая команда:

Screenshot_4-1801-e9dfe2.png

Для обновления пакета нужен ключ –upgrade:

Screenshot_5-1801-67a056.png

Просмотреть установленные пакеты и вывести их список тоже несложно:

 
> pip list 

Если нужна более подробная информация об определённом пакете, пригодится аргумент show.

Screenshot_6-1801-88335f.png

Бывает, что точное название пакета неизвестно. В таком случае можно воспользоваться поиском в папке (репозитории) и просмотреть пакеты, которые содержат определённое слово — здесь пригодится аргумент search.

Управление необходимыми пакетами Python с помощью requirements.txt

Если вы предоставляете общий доступ к проекту Python другим пользователям или используете систему сборки для создания приложения Python, необходимо указать все необходимые внешние пакеты. При планировании копирования проекта в другие расположения, где необходимо восстановить среду, необходимо также определить необходимые зависимые пакеты.

Рекомендуемый подход к указанию внешних зависимых пакетов Python — использовать файл требований (readthedocs.org). Этот файл содержит список команд pip, которые устанавливают все необходимые версии зависимых пакетов для проекта. Наиболее распространенная команда . pip freeze > requirements.txt Эта команда записывает текущий список пакетов среды в файл requirements.txt .

Файл требований содержит точные версии всех установленных пакетов. Файлы требований можно использовать для замораживания требований среды. Используя точные версии пакетов, вы можете легко воспроизвести среду на другом компьютере. Файлы требований включают пакеты, даже если они установлены с диапазоном версий, в качестве зависимости от другого пакета или установщика, отличного от pip.

Необходимые компоненты

  • Visual Studio, установленная с поддержкой рабочих нагрузок Python. Дополнительные сведения см. в статье "Установка поддержки Python в Visual Studio".
  • Файл требований. Вы можете использовать существующий файл требований или создать файл , как описано в этой статье.

Технически любое имя файла можно использовать для отслеживания требований. Однако Visual Studio предоставляет конкретную поддержку файла требований с именем "requirements.txt". Аргумент можно использовать -r при установке пакета, чтобы указать предпочитаемое имя файла.

Установка зависимостей, перечисленных в requirements.txt

Если вы загружаете проект с файлом requirements.txt , можно установить все зависимости пакета, перечисленные в файле.

  1. В Обозреватель решений разверните проект и разверните узел сред Python.
  2. Найдите узел среды, для которого нужно установить пакеты. Щелкните узел правой кнопкой мыши и выберите " Установить" из requirements.txt.

Screenshot that shows how to install Python packages from a requirements text file in Visual Studio 2019.

Screenshot that shows how to install Python packages from a requirements text file in Visual Studio 2022.

Screenshot that shows the output from the installation of the Python packages from a requirements text file.

  • Процесс установки пакета можно отслеживать в окне вывода : В выходных данных перечислены все установленные пакеты, а также все обновления, необходимые для затронутых команд pip, и доступность более новых версий pip.
  • Установка зависимостей в виртуальной среде

    Можно также установить зависимости пакета Python в существующей виртуальной среде.

    1. В Обозреватель решений разверните проект и разверните узел сред Python.
    2. Найдите узел виртуальной среды, для которого нужно установить пакеты. Щелкните узел правой кнопкой мыши и выберите " Установить" из requirements.txt.

    Если вам нужно создать виртуальную среду, см. статью "Использование виртуальных сред".

    Создание файла requirements.txt

    Если все необходимые пакеты Python для проекта уже установлены в среде, можно создать файл requirements.txt в Visual Studio.

    1. В Обозреватель решений разверните проект и разверните узел сред Python.
    2. Найдите узел среды, для которого нужно создать файл требований. Щелкните узел правой кнопкой мыши и выберите "Создать requirements.txt".

    Screenshot that shows how to generate a requirements text file for Python package dependencies in Visual Studio 2019.

    Screenshot that shows how to generate a requirements text file for Python package dependencies in Visual Studio 2022.

    Обновление или добавление записей в существующий файл requirements.txt

    Если файл requirements.txt уже существует, Visual Studio отображает запрос с несколькими параметрами:

    Screenshot of the prompt displayed when the requirements text file already exists, with options to update or add entries, or replace the file.

    • Замените весь файл: перезаписать все элементы, комментарии и параметры, определенные в файле requirements.text .
    • Обновите существующие записи: обновите описатели версий в файле requirements.text , чтобы соответствовать текущей установленной версии.
    • Обновите и добавьте записи: обновите существующие требования в файле requirements.text и добавьте все новые требования к пакету в конец файла.

    Visual Studio выполняется pip для обнаружения текущих требований к пакету для среды, а затем обновляет файл requirements.txt на основе выбранного вами файла.

    Установка зависимостей пакета вручную

    Если pip не устанавливает зависимость пакета, определенную в файле requirements.txt , вся установка завершается сбоем.

    У вас есть два варианта решения этой проблемы:

    • Вручную измените файл requirements.txt, чтобы исключить сбой пакета, а затем повторно запустите процесс установки.
    • Используйте параметры команды pip для ссылки на устанавливаемую версию пакета.

    Обновление файла требований с помощью пип-колеса

    При использовании pip wheel команды для компиляции зависимостей можно добавить --find-links параметр в файл requirements.txt .

      pip wheel Вызовите команду для компиляции списка необходимых зависимостей:

    pip wheel azure 

    В выходных данных показаны колеса, созданные для собранных пакетов:

    Downloading/unpacking azure Running setup.py (path:C:\Project\env\build\azure\setup.py) egg_info for package azure Building wheels for collected packages: azure Running setup.py bdist_wheel for azure Destination directory: c:\project\wheelhouse Successfully built azure Cleaning up. 
    type requirements.txt --find-links wheelhouse --no-index azure==0.8.0 
    pip install -r requirements.txt -v 

    Выходные данные отслеживают ход выполнения процесса установки:

    Downloading/unpacking azure==0.8.0 (from -r requirements.txt (line 3)) Local files found: C:/Project/wheelhouse/azure-0.8.0-py3-none-any.whl Installing collected packages: azure Successfully installed azure Cleaning up. Removing temporary dir C:\Project\env\build. 

    Связанный контент

    • Управление окружениями Python в Visual Studio
    • Выбор интерпретатора для проекта
    • Пути поиска
    • Справочная информация по окну "Окружения Python"

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *