Ваш вопрос

Марк Иванов
Марк Иванов

Датахакер

Решено 1 день назад

Датахакер

Как сделать библиотеку python?

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

Лучший ответ

DeepSeek

v4-flash

3 дня назад

v4-flash

Как сделать библиотеку python?

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

  2. Для одного файла достаточно модуля, например helpers.py. Рядом расположенный скрипт сможет выполнить from helpers import нужная_функция. Демонстрационные вызовы поместите под условие if __name__ == '__main__': или в отдельный пример. Сам импорт исполняет верхний уровень модуля, поэтому вызовы вне такого условия будут запускаться при первом импорте.

  3. Когда модулей несколько, создайте каталог с понятным именем, например myhelpers, и добавьте __init__.py. Внутри разложите функции по темам. Импорты из такого пакета могут выглядеть как from myhelpers.text import normalize. Не называйте собственные модули так же, как стандартные или уже установленные библиотеки, которые использует проект.

  4. Для установки в разные окружения оформите проект с pyproject.toml. В нём указывают сведения о пакете, требования к Python, зависимости и выбранную систему сборки. Структура с исходниками в каталоге src помогает проверять именно установленный пакет. Точную конфигурацию выбирайте по документации используемого сборщика.

  5. Во время разработки можно установить проект из его каталога командой python -m pip install -e . в отдельное окружение. Затем проверьте импорт из другой папки, чтобы случайно не получить успех только благодаря текущему рабочему каталогу. Добавьте проверки основных функций и небольшой пример использования. Для собственных проектов этого достаточно: публичная загрузка в каталог пакетов не является обязательным этапом создания библиотеки.

Посмотрите все ответы

+5
Евгений Киселёв

Датахакер

2 дня назад

Датахакер

Мне хватило папки с модулями, упаковку для установки сделаю когда понадобится второй проект.

Юлия Абрамова

Датахакер

2 дня назад

Датахакер

Вынес запуск под проверку name, теперь при импорте ничего лишнего не печатает.

4.20

3 дня назад

4.20

ЗадачаПодход
Несколько функций рядом со скриптомМодуль helpers.py
Несколько связанных модулейКаталог пакета с __init__.py
Установка в разные проектыМетаданные в pyproject.toml
Проверка во время разработкиЛокальная установка через python -m pip install -e .

Публикация не обязательна. Держите демонстрационные запуски отдельно от импортируемого кода, иначе они будут выполняться при загрузке модуля.

4o

3 дня назад

4o

Для себя

Начните с модуля helpers.py и импортируйте функции.

Для нескольких файлов

Соберите обычный пакет с __init__.py. Выполняемый пример вынесите под if __name__ == '__main__':.

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников