Skip to content

Home Администрирование Создание пакетов
Создание пакетов

Ранее мы уже упоминали, что пакеты с расширением .egg - это пакеты модулей на языке Python, но мы не давали определения пакетам лучше, чем это. Ниже приводится определение «пакета egg», взятое с вебсайта проекта setuptools:

Пакеты в формате .egg — это предпочтительный двоичный формат дистрибутивов для Easylnstall, потому что являются кросс-платформенными (для пакетов с модулями исключительно на языке Python), могут импортироваться непосредственно и содержат метаданные проекта, включая сценарии и информацию о зависимостях проекта. Они могут просто загружаться и добавляться в значение атрибута sys.path или помещаться в каталог, который уже имеется в sys.path, после чего они автоматически будут обнаруживаться системой управления пакетами во время выполнения.

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

Создание пакетов Python представляет собой чрезвычайно простой процесс, состоящий из четырех этапов:

1.Установить setuptools.

2. Создать файлы, которые необходимо поместить в пакет.

3. Создать файл setup.py.

4. Запустить.

Инструмент setuptools у нас уже установлен, поэтому мы можем двинуться дальше и создать файлы для помещения в пакет:

В данном случае пакет будет содержать пустой модуль на языке Python с именем hello-egg, py.

Теперь создадим пакет:

Далее создадим простейший файл setup.py:

Установим пакет:

Как видите, пакеты создаются чрезвычайно просто. Однако созданный пакет в действительности был пустым файлом, поэтому мы создадим другой сценарий на языке Python и рассмотрим процедуру создания пакета более подробно.

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

Затем мы создадим сценарий setup, py, который будет использоваться инструментом setuptools. Это еще один минимально возможный файл setup.py, как и в предыдущем примере:

Здесь объявляется имя пакета - «symlinkator», номер версии 0.1 и указывается, что инструмент setuptools будет пытаться отыскать любые подходящие файлы для включения. Раздел entry_points пока просто игнорируйте.

Теперь соберем пакет, запустив команду python setup, py bdist_egg:

Теперь установим пакет:

Проверим содержимое пакета. Для этого перейдем в предварительно созданный каталог dlst и проверим наличие пакета в этом каталоге:

Затем запустим оболочку IPython, импортируем модуль и попробуем им воспользоваться:

На всякий случай проверим содержимое каталога, который был передан функции get_links():

Комментарии (0)

RSS feed Comments

Написать комментарий

smaller | bigger

busy
 

Регистрация




Top