Найти - Пользователи
Полная версия: запаковать проект в один py-файл
Начало » Python для экспертов » запаковать проект в один py-файл
1
agryn
Есть проектик скажем на 20 файликов.
Может знает кто утилиту которая склеит код со всех файлов в один (с учетом импортов).
То есть не просто склеит а проверит имена переменных/классов/функций и переименует конфликтируищие.
doza_and
Сам не пробовал, но чем вас не устраивает импорт из zip?
https://docs.python.org/2/library/zipimport.html
Если попробуете отпишитесь пожалуйста.
agryn
Пробовал! Конкретно модуль zipimport не пробовал просто делал:
sys.path.insert(0, '/tmp/example.zip')
import jwzthreading
А нужна мне такая штука для максимальной портабельности. Чтобы один исполняемый файл запускался сразу без необходсмости что то деплоить (строить виртуальное окружение со специфических версий пакетов).
doza_and
agryn
Чтобы один исполняемый файл запускался сразу без необходсмости что то деплоить
По моему мнению ваша деятельность закончится тем что вы станете 1000001 человеком который пытается на свой лад написать setuptools или apt-get или yum или dpkg или Microsoft Installer или… . Я десятки раз устанавливал проекты выполненные на python и других языках и НИ РАЗУ не встречался с тем чтобы разработчику или пользователю было важно сколько штук файлов появится на компьютере в процессе установки приложения. Обычный пользователь даже если его попросить обычно не может определить что и куда поставилось (Не говоря уже об изменениях в конфгурационных файлах, реестре и т.п.).

По поводу зависимостей я сформулирую не менее резко:
Для тех кто умеет выбрать хорошие пакеты со стабильным интерфейсом, и умеет пользоваться пакетами, так как это предусмотрено разработчиками не важно какая версия пакета используется. Они обычно используют стандартный питон при необходимости дополняя его последними версиями зависимостей.
Те кто этого не умеет загаживает систему десятками копий одного пакета.
Да для больших проектов первый вариант не всегда просто реализовать, но это идеал к которому надо стремиться.
sander
pex?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB