Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 16, 2009 00:12:30

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание инсталлятора под винду

Собственно, вопрос не совсем по питону, даже совсем не по питону, однако ж, думаю, многие с этим сталкивались. Нужно создать удобный инсталлятор под windows для программы на питоне, включив в него при этом интерпретатор питона, PyQt4 и еще пару модулей, все в .exe. Я все присматриваюсь к NSIS, но никак не соображу, как из-под него запустить инсталляторы для питона и модулей, да потом еще и прописать переменные окружения для чужой установки, даром что питон сам этого не делает. У кого есть опыт создания подобных инсталляторов? Какую систему лучше использовать и как?



Отредактировано (Ноя. 16, 2009 00:15:35)

Офлайн

#2 Ноя. 16, 2009 01:47:47

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание инсталлятора под винду

А нельзя скомпилить прогу со всеми модулями в один ехе и одного его запихнуть в простейший инсталлер?



Офлайн

#3 Ноя. 16, 2009 10:01:07

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание инсталлятора под винду

pasaranax
Сам хотел так сделать, но вот не получается. Зависимости все вроде удовлетворил, но программа при щелчке по экзешнику просто не запускается, не выдавая никаких ошибок. При этом если запустить py-файл - работает отлично.



Отредактировано (Ноя. 16, 2009 10:01:30)

Офлайн

#4 Ноя. 16, 2009 10:24:22

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Создание инсталлятора под винду

Хм… Для начала собери нормально в py2exe, убедись в работоспособности, а потом делай инсталлер. На каком этапе проблема? Инсталлер грубо говоря, просто распихивает файлы по папочкам…



Отредактировано (Ноя. 16, 2009 10:26:47)

Офлайн

#5 Ноя. 16, 2009 10:47:54

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание инсталлятора под винду

igor.kaist
Тут какая проблема - раньше все нормально собиралось и запускалось, но почему-то при переносе на чистую систему выдавало “Приложение некорректно настроено, переустановите его”. Сейчас же просто перестало запускаться, без всяких ошибок.



Офлайн

#6 Ноя. 17, 2009 12:01:57

alex312
От:
Зарегистрирован: 2009-11-06
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание инсталлятора под винду

Enchantner
igor.kaist
Тут какая проблема - раньше все нормально собиралось и запускалось, но почему-то при переносе на чистую систему выдавало “Приложение некорректно настроено, переустановите его”. Сейчас же просто перестало запускаться, без всяких ошибок.
посмотрите какие dll требуются для работы программы, возможно на чистую систему необходимо установить дополнительные билиотеки из состава VisualStudio, как вариант http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en



Офлайн

#7 Ноя. 17, 2009 21:29:42

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание инсталлятора под винду

alex312
первым делом поставил, дело точно не в них



Офлайн

#8 Май 26, 2012 09:49:47

n2b
От:
Зарегистрирован: 2011-02-10
Сообщения: 125
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание инсталлятора под винду

UP!

Хочется собрать инсталлятор с несколькими библиотеками и питоном. py2exe не предлагать - не работает.
Подскажите как сделать пожалуйста.



Офлайн

#9 Май 26, 2012 10:38:20

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

Создание инсталлятора под винду

http://borisnote.wordpress.com/2010/01/04/python3-in-exe/


Или

Pyinstaller
На сайте http://pyinstaller.org хостится важнейшая для нас на сегодня тулза. Она представляет собой набор скриптов, которые позволяют из обычного py-скрипта сделать exe-шник. Скачивай ее с сайта или с диска и давай потестим. Допустим, ты распаковал ее на диск D:.
Конфигурируем:

D:\pyinstaller> Configure.py

Теперь для теста в папке D:\test\ создай питоновский скрипт test.py:

print "OK"
open("ok.txt", "w").write('ok')

Создание exe-шника проходит в два этапа. Сначала скриптом Makespec. py записывается файл «spec» с параметрами «компиляции», а затем — скрипт Build.py создает непосредственно экзешник. Скрипт Makespec.py, кроме пути к py-файлу принимает много разных параметров, но нам важны лишь эти:

• «F», на выходе получим один лишь exe-шник;
• «w», не показывать консоль, без этого параметра по умолчанию программа запускается с консольным окном;
• «X», использовать UPX для сжатия exe;
• «--icon=file.ico», использовать указанную иконку.

Во время разработки желательно использовать только один параметр («F») с целью создания отладочного режима, — чтобы в результате получился один файл и окно, в котором мы бы видели свои ошибки. Проверяем и компилируем:

D:\pyinstaller> Makespec.py -F -w -X d:\test\test.py
D:\pyinstaller> Build.py d:\pyinstaller\test\test.spec

Несколько секунд ожидания… готово! Результат работы покоится в папке d:\pyinstaller\test\dist\. Наш test.exe получился размером в 2.4 Мб, и, если его запустить, то может показаться, что ничего не сработало — окна нет. Однако ok.txt создается, а значит, все отлично работает.

Запускайте .exe через ком.строку ,что бы видеть какие ошибки выдает и по мере необходимости добавляйте модули

Если надо увидеть что пишет в окне шелла и закрывается то набираем program.exe /print c:\ doc\1.txt
Ну или просто запускаем прогу ехе из ком строки питона и тогда будет видно какие ошибки выдает окно шелла при запуске проги,каких может модулей не хватает


from cx_Freeze import setup, Executable
includes = ['zlib', 'zipfile', 'gzip','zipimport']
GUI2Exe_Target_1 = Executable(
script = "adcvasc.py",
base = 'Win32GUI',
compress = False,
copyDependentFiles = True,
appendScriptToExe = False,
appendScriptToLibrary = False,
icon = None
)
setup(
name = "hello",
version = "0.1",
executables = [GUI2Exe_Target_1],
options = {"build_exe": {"optimize": 2,
"base": "Win32GUI",
"packages": "zipimport",
"copy_dependent_files": "True",
"includes": includes
}
}

)
Еще есть Nuitka,но с этим я так и не разобрался в свое время

Да и py2exe тоже можно собирать,главное правильно
Приступим к созданию exe файла. Создадим файл setup.py.

Содержание файла setup.py:

from distutils.core import setup
import py2exe
setup(console=['access.py'])

access.py – имя нашего скрипта авторизатора.

Чтобы создать ехе файл, выполним команду python setup.py py2exe.
В процесс создания ехе файла были созданы две директории: build и dist. Нам понадобится только dist.
Переходим в директорию dist. Выбираем файл access.exe и запускаем его.

при проблеме если при запуске ехе пишет типа нет модуля то добавляем модули так



from distutils.core import setup
import py2exe

setup(
windows=[{'script': 'gui.py'}],
options={
'py2exe':
{
'includes': ['lxml.etree', 'lxml._elementpath', 'gzip'],
}
}
)


в файл setup.py

Отредактировано sanodin (Май 26, 2012 11:00:04)

Офлайн

#10 Май 26, 2012 11:10:07

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

Создание инсталлятора под винду

Enchantner
igor.kaist
Тут какая проблема - раньше все нормально собиралось и запускалось, но почему-то при переносе на чистую систему выдавало “Приложение некорректно настроено, переустановите его”. Сейчас же просто перестало запускаться, без всяких ошибок.

cx_Freeze FATAL Error: cannot get zipimporter instance
Сообщение может выдаваться, если в пути до файлов присутствуют не латинские символы.
Попробуйте переместить Ваш скрипт в C:\ при сборке

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version