Уведомления

Группа в Telegram: @pythonsu

#1 Май 29, 2013 11:49:34

SHPROT
Зарегистрирован: 2012-11-16
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Python(компилятор)

И снова у меня возник вопрос. я дописал свою простенькую программу на питоне

Python 2.6.6
под linux'ом
CentOS 6.3
. Вопрос как мне теперь сделать exe под винду? много чего прочел в инете, но хотелось бы по полочкам всё изложено что бы было.

Офлайн

#2 Май 29, 2013 17:27:27

Bandicoot
От:
Зарегистрирован: 2011-11-16
Сообщения: 47
Репутация: +  0  -
Профиль   Отправить e-mail  

Python(компилятор)

SHPROT
По полочкам тут вряд ли кто разложит :)

Офлайн

#3 Май 29, 2013 22:35:55

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Python(компилятор)

SHPROT
Вопрос как мне теперь сделать exe под винду?
Вопрос неправомерен. Зачем делать exe? Пример решения: Переименуйте a.py в a.exe. Ваши требования абсолютно полностью удовлетворены вы получили файл с расширением exe.

Может вы хотите узнать как пользоваться скриптом под windows? Либо python a.py либо смотрите cxfreeze.



Офлайн

#4 Май 30, 2013 06:40:30

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Python(компилятор)

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)])

includes-указываем модули для сборки
ну и из каталога со всем этим из ком.строки
python setup.py build

Офлайн

#5 Май 30, 2013 07:46:49

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Python(компилятор)

:) Остается поблагодарить sanodin за подробный ответ про использование cx_freeze.
Единственно надо наверно дополнить что преобразование скрипта в исполняемый модуль - абсолютное зло.

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

Если делаете для потребителя, опять лучше дать дистрибутив, а не огрызки. При этом вы еще теряете возможность при разговоре с заказчиком на месте поправить ошибки или проконтролировать какая у него версия ПО.

Придумать ситуацию когда исполняемый модуль лучше, чем сам скрипт практически невозможно.



Офлайн

#6 Июнь 1, 2013 18:40:48

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Python(компилятор)

doza_and
Да. Придумать сложно. Бывают призвезденные закзчики. Иногда приходтся…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version