Введение
В какой-то момент вам может захотеться передать свой код кому-то другому, возможно, просто коллеге. В этом разделе рассказывается о самых базовых методах этого. Для более подробной информации вам нужно будет обратиться к Руководству пользователя по упаковке Python.
Создание файла setup.py
Добавьте файл setup.py в директорию /home/labex/project в верхний уровень вашего каталога проекта.
## setup.py
import setuptools
setuptools.setup(
name="porty",
version="0.0.1",
author="Your Name",
author_email="you@example.com",
description="Practical Python Code",
packages=setuptools.find_packages(),
)
Создание MANIFEST.in
Если у вашего проекта есть дополнительные файлы, укажите их с помощью файла MANIFEST.in. Например:
## MANIFEST.in
include *.csv
Разместите файл MANIFEST.in в той же директории, что и setup.py.
Создание исходного архива
Для создания архива с вашим кодом используйте файл setup.py. Например:
$ python setup.py sdist
Это создаст файл .tar.gz или .zip в директории dist/. Теперь вы можете передать этот файл кому-то другому.
Установка вашего кода
Другие могут установить ваш Python-код с помощью pip точно так же, как это делают для других пакетов. Они просто должны предоставить файл, созданный на предыдущем шаге. Например:
$ python -m pip install porty-0.0.1.tar.gz
Комментарий
Шаги выше описывают абсолютно минимальные основы создания пакета Python-кода, который можно передать другому человеку. На практике это может быть намного более сложным, в зависимости от зависимостей от третьих сторон, наличия или отсутствия в вашем приложении внешнего кода (например, C/C++) и т.д. Рассматривать это выходит за рамки данного курса. Мы только сделали первый, очень маленький шаг.
Упражнение 9.5: Создайте пакет
Возьмите код из porty-app/, который вы создали для упражнения 9.3, и проверьте, сможете ли вы повторить шаги, описанные здесь. В частности, добавьте файл setup.py и файл MANIFEST.in в корневую директорию. Создайте исходный архив, запустив python setup.py sdist.
В качестве последнего шага проверьте, сможете ли вы установить ваш пакет в виртуальную среду Python.
Резюме
Поздравляем! Вы завершили лабораторную работу по созданию дистрибутива. Вы можете практиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.