Форум сайта python.su
И снова у меня возник вопрос. я дописал свою простенькую программу на питоне
Python 2.6.6
CentOS 6.3
Офлайн
SHPROT
По полочкам тут вряд ли кто разложит :)
Офлайн
SHPROTВопрос неправомерен. Зачем делать exe? Пример решения: Переименуйте a.py в a.exe. Ваши требования абсолютно полностью удовлетворены вы получили файл с расширением exe.
Вопрос как мне теперь сделать exe под винду?
Офлайн
cx_Freeze.
у вас есть приложение С:\script.py
Скачиваем версию для Windows. Устанавливаем.
В каталоге c:\Python31\Scripts\ находится файл cxfreeze.bat. Через этот файл и производится сборка exe-шника. Помощь по ключам которые он понимает прописаны на странице разработчика
Создаем в каталоге c:\Python31\Scripts\ подкаталог dist. В него будут помещатся результат работы cx-freeze
Создаем run.bat – в него будем писать обращение к cxfreeze.bat. Прописываем в него
cd .
del dist\*.* /Q
call cxfreeze “C:\script.py” –target-dir dist
pause
Запускаем и получаем exe-файл в каталоге c:\Python31\Scripts\dist\
либо создать setup.py
import sys from cx_Freeze import setup, Executable build_exe_options = {"packages": ["os"], "includes": ["tkinter",'re']} base = None if sys.platform == "win32": base = "Win32GUI" setup( name = "guifoo", version = "0.1", description = "My GUI application!", options = {"build_exe": build_exe_options}, executables = [Executable("C:\Python33\Scripts\script.py", base=base)])
Офлайн
:) Остается поблагодарить sanodin за подробный ответ про использование cx_freeze.
Единственно надо наверно дополнить что преобразование скрипта в исполняемый модуль - абсолютное зло.
Если вы сами будете использовать скрипт - питон у вас есть, получите занятое место на диске без реального улучшения функциональности.
Если делаете для потребителя, опять лучше дать дистрибутив, а не огрызки. При этом вы еще теряете возможность при разговоре с заказчиком на месте поправить ошибки или проконтролировать какая у него версия ПО.
Придумать ситуацию когда исполняемый модуль лучше, чем сам скрипт практически невозможно.
Офлайн
doza_and
Да. Придумать сложно. Бывают призвезденные закзчики. Иногда приходтся…
Офлайн