Tworzenie MSI z cx_freeze i bdist_msi dla aplikacji PySide
Mam aplikację PySide, którą próbuję spakować do MSI przy użyciu cx_freeze. Mogę z powodzeniem utworzyć instalator MSI, ale mam problem z ustaleniem, jak wyświetlić dodatkowe moduły, które mają być zawarte w pakiecie. Oto mojasetup.py
scenariusz:
import sys
from cx_Freeze import setup, Executable
company_name = 'My Company Name'
product_name = 'My Gui'
bdist_msi_options = {
'upgrade_code': '{66620F3A-DC3A-11E2-B341-002219E9B01E}',
'add_to_path': False,
'initial_target_dir': r'[ProgramFilesFolder]\%s\%s' % (company_name, product_name),
# 'includes': ['atexit', 'PySide.QtNetwork'], # <-- this causes error
}
# GUI applications require a different base on Windows
base = None
if sys.platform == 'win32':
base = 'Win32GUI'
exe = Executable(script='MyGui.py',
base=base,
icon='MyGui.ico',
)
setup(name=product_name,
version='1.0.0',
description='blah',
executables=[exe],
options={'bdist_msi': bdist_msi_options})
Mogę pomyślnie utworzyć MSI za pomocą polecenia
python setup.py bdist_msi
Ale wedługdokumentacja do pakowania aplikacji PySide muszę dołączyć modułyatexit
iPySide.QtNetwork
. Próbowałem to zrobić, dodając'includes'
klucz dobdist_msi_options
, ale odkomentowanie tej linii powoduje następujący błąd:
running bdist_msi
error: error in setup script: command 'bdist_msi' has no such option 'includes'
Jak uzyskać dołączenie tych modułów do wygenerowanego pliku wykonywalnego?