Основы разделения Python-кода

Beginner

This tutorial is from open-source community. Access the source code

Введение

В какой-то момент вам может захотеться передать свой код кому-то другому, возможно, просто коллеге. В этом разделе рассказывается о самых базовых методах этого. Для более подробной информации вам нужно будет обратиться к Руководству пользователя по упаковке 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, чтобы улучшить свои навыки.