Самый простой подход - просто использовать zip
. Файл jar
в Java - это zip-файл, содержащий некоторые метаданные, такие как манифест; но вам не обязательно нужна метатада - Python может импортировать из zip-файла, если вы поместите этот zip-файл в sys.path, так же, как это делается для любого каталога. В zipfile у вас могут быть исходные коды (файлы .py), но тогда Python должен будет компилировать их «на лету» каждый раз, когда процесс впервые импортирует их; или вы можете иметь файлы байт-кода (.pyc или .pyo), но тогда вы ограничены конкретной версией Python и либо отсутствием (для .pyc), либо наличием (для .pyo) флага -O (или -OO ).
Как указывалось в других ответах, существуют форматы, такие как .egg
, которые также обогащают zip-файл метатадой в Python, например Java .jar
, но в конкретном случае использования, который дает вам дополнительное значение по сравнению с простым zip-файлом решение за вами