Как я могу создать установщик для 64-битной машины в Python? - PullRequest
0 голосов
/ 11 декабря 2018

Я создаю установщик для приложения, которое я разработал.Ниже приведен файл установки, который я использую

from cx_Freeze import setup, Executable 

buildOptions = dict(excludes = ["tkinter"], includes =["idna.idnadata"], optimize=1)

setup(name = "SoftwareGateway" , 
      version = "0.1" , 
      description = "" , 
      options =dict(build_exe = buildOptions),
      executables = [Executable("main.py", base = base)])

. По умолчанию это создает установщик для 32-разрядной цели.Я говорю это потому, что когда я его устанавливаю, он устанавливается в ProgramFiles (x86).

Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть клиентская библиотека IoT-Hub, которая является 64-битной (файл .pyc).).Я могу создать установщик, но это для x86.При установке и попытке запуска выдается ошибка

Ошибка загрузки DLL,% 1 не является допустимым приложением win32

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

Позже я попытаюсь найти клиентскую библиотеку IoT-Hub для 32-битной системы и собрать ее для x86.

1 Ответ

0 голосов
/ 11 декабря 2018

cx_Freeze в основном создает исполняемый файл для платформы и конфигурации установки python, к которой он принадлежит.Цитирование cx_Freeze документации :

cx_Freeze работает на Windows, Mac и Linux, но на каждой платформе он создает только исполняемый файл, работающий на этой платформе.Поэтому, если вы хотите заморозить вашу программу для Windows, заморозьте ее в Windows;если вы хотите запустить его на Mac, заморозьте его на Mac.

Таким образом, на 64-разрядной машине Windows вы можете создать 64-разрядный исполняемый файл, запустив сценарий установки с использованием 64-установка немного Python.Этот исполняемый файл будет работать только на 64-разрядных компьютерах с Windows.

На 64-разрядном компьютере с Windows вы также можете создать 32-разрядный исполняемый файл, запустив сценарий установки с использованием 32-разрядной установки Python.Этот исполняемый файл будет работать на 32-битных и 64-битных компьютерах Windows.См. Также Могу ли я создать 32-битную программу с помощью cx_freeze, если у меня 64-битная ОС?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...