Comments 9
Если интересует развёртывание исключительно под Windows, есть такой инструмент pynsist — обёртка над NSIS, устанавливающая на пользовательскую машину сам Python нужной версии и грамотно раскидывающая ярлыки при установке.
А можно ли на сам код бота посмотреть, из академических соображений.
Да, конечно. Исходники здесь, а сам бот на Телеграме вот, для примера. В принципе, сам по себе бот нерелевантен к статье, но если интересно, пожалуйта. 8)
Кстати, есть ещё интересный модуль (и заодно утилита) zipapp (https://docs.python.org/3/library/zipapp.html), позволяющая создавать исполняемые .pyz-архивы, поддерживаемые Python 2.7 — 3.5+. Правда, сама утилита/модуль есть только в 3.5 и выше, но созданные архивы отлично запускаются на младших версиях интерпретатора.
Что вы имеете в виду под кроссплатформенностью cx_Freeze? Собранные с ее помощью инсталяторы, например, в Linux, вряд ли запустятся на Windows.
Я имел в виду, что сам модуль cx_Freeze — кросс-платформенный, то есть он сам работает под разными системами, и с его помощью можно собрать исполняемый файл под Windows и Linux. Естественно, собирать программу нужно, находясь на целевой системе.
Кстати, он собирает уже готовые к запуску исполняемые файлы, а не инсталяторы.
Собранные с ее помощью инсталяторы
Кстати, он собирает уже готовые к запуску исполняемые файлы, а не инсталяторы.
Кстати, есть библиотека, которая собирает кросплатформенные исполняемые файлы программ Python, вне зависимости, в какой среде была произведена сборка! И это не cx_Freeze!
Кстати, он собирает уже готовые к запуску исполняемые файлы, а не инсталяторы.
По крайней мере под Win собирает отличные инсталляторы (именно, которые инсталлируют ваш питоновский собранный exe)
msi_opts = {
'upgrade_code': '{98A12636-475E-42A5-8EDD-E072890046EA}',
'add_to_path': False,
'initial_target_dir': r'[ProgramFilesFolder]\{}\{}'.format(company_name, product_name),
}
setup(
version=version.get_new_version(),
description='My App',
author='Author',
name='My Application',
options={
'build_exe': exe_opts,
'bdist_msi': msi_opts,
},
executables=[exe]
)
Sign up to leave a comment.
cx_Freeze + virtualenv = баги и зигзаги