Преобразование пакета Python в один импортируемый файл - PullRequest
1 голос
/ 10 июля 2019

Есть ли способ конвертировать пакет python, то есть представляет собой папку файлов python, в один файл, который можно скопировать и затем напрямую импортировать в скрипт python без необходимости выполнения каких-либо дополнительных команд оболочки?Я знаю, что можно сжать все файлы, а затем разархивировать их из python, когда они понадобятся, но я надеюсь, что есть более элегантное решение.

1 Ответ

1 голос
/ 10 июля 2019

Не совсем понятно, в чем вопрос. Я мог бы интерпретировать это двумя способами.


Если вы хотите управлять символами из многих модулей более организованно:

Вы захотите поместить файл __init__.py в свой каталог и сделать его пакетом. В нем вы можете определить символы для вашего пакета и создать изящное import packagename поведение. Подробности по пакетам .


Если вы хотите сделать свой код переносимым в другую среду:

Так или иначе, пакет должен быть доступен в любой среде, в которой он запущен. Это означает, что его нужно либо установить в среде Python (вероятно, с использованием pip), скопировать в папку, которая находится в подкаталог относительно исполняемого кода или каталог, указанный в переменной среды PYTHONPATH.

Самый простой способ упаковать код и сделать его переносимым - это использовать setuptools для создания переносимого пакета, который можно установить в любую среду Python. Страница руководства для Упаковочные проекты содержит подробную информацию о том, как создать архив пакетов и, при необходимости, загрузить его в PyPi для публичного распространения. Если это для частного использования, полученный архив может быть передан без загрузки его в общедоступный репозиторий.

...