Минимизируйте размер распределения Python

Помеха мы должны поставить Python, является большим размером стандартной библиотеки. Существует ли минимальное распределение Python или простой способ привередливо выбрать то, что мы хотим от стандартной библиотеки? Платформой является Linux.

7
задан user282368 26 February 2010 в 22:04
поделиться

3 ответа

Если все, что вам нужно, это получить минимальное необходимое вам подмножество (вместо того, чтобы создавать exe , который ограничивал бы вас системами Windows), используйте стандартный библиотечный модуль modulefinder для вывода списка все модули, которые требуются вашей программе (вы получите все зависимости, прямые и косвенные). Затем вы можете заархивировать все соответствующие файлы .pyo или .pyc (в зависимости от того, используете ли вы Python с -O или без него). flag) и просто используйте этот zip-файл в качестве sys.path (плюс каталог для всех .pyd или .so динамических библиотек с собственным кодом, которые могут вам понадобиться - они должны жить непосредственно в файловой системе, чтобы операционная система могла загружать их по мере необходимости, они не могут быть загружены непосредственно из zip-файла, как, к сожалению, модули байт-кода Python).

7
ответ дан 2 September 2019 в 08:57
поделиться

Вы смотрели py2exe ? Он обеспечивает способ доставки программ Python без необходимости установки Python.

2
ответ дан 2 September 2019 в 08:57
поделиться

Как предлагают Хэнк Гей и Алекс Мартелли, вы можете использовать py2exe. Кроме того, я бы посоветовал изучить возможность использования чего-то вроде IronPython . В зависимости от вашего приложения вы можете использовать библиотеки, встроенные в платформу .NET (или MONO, если для Linux). Это уменьшает ваш размер доставки, но добавляет минимальные требования к вашей программе.

Кроме того, если вы используете функции из библиотеки, вы можете использовать из импорта модуля x вместо импорта с подстановочными знаками. Это также уменьшает размер вашего корабля, но, возможно, не слишком сильно

Надеюсь, это поможет

0
ответ дан 2 September 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: