[英][cx_Freeze Q]: How to build MSI from non-standard build directory?
我試圖讓我的構建過程從非標准構建目錄構建。 項目存儲在c:\users\user\onedrive\dev\project
中。 這些是我在 setup.py 中的構建選項:
build_options = {
'packages': ["pyfiglet"],
'excludes': ["scipy", "PIL", "tkinter", "test"],
# use this temp dir, so onedrive does not go crazy and lock files!
'build_exe': f"c:/Temp/{DESCRIPTION.replace(' ','_')}-build",
}
但現在我很難定義 bdist_msi_options 塊:
bdist_msi_options = {
'upgrade_code': '{1}',
'add_to_path': False,
'install_icon': 'icon.ico',
'skip_build': True, # so I can sign the exe before MSI'ing
'initial_target_dir': r'[ProgramFilesFolder]\{0}\{1}'.format(
COMPANY, DESCRIPTION),
}
我沒有看到任何選項來定義 MSI-build 將從c:\temp\
獲取預構建的 .exe。
最后是 main():
executables = [
Executable(
SCRIPT_FILE, # something.py
base='Console',
target_name=OUT_FILENAME,
copyright=COPYRIGHT,
icon="icon.ico",
shortcut_name=DESCRIPTION,
shortcut_dir="DesktopFolder",
)
]
setup(name='HeightStorage',
version=cfg.version,
description=LONG_DESCRIPTION,
options={
'build_exe': build_options,
'bdist_msi': bdist_msi_options,
},
executables=executables)
任何提示表示贊賞。
嘗試在build
選項中設置構建目錄並使用bdist_dir
選項的bdist_msi
選項:
build_dir = f"c:/Temp/{DESCRIPTION.replace(' ','_')}-build" # or whatever you like
bdist_dir = build_dir # define here a new directory if you want to keep build_dir
build_options = {
...
'build_exe': build_dir,
}
bdist_msi_options = {
...
'bdist_dir': bdist_dir,
}
setup(
...
options={
'build': {'build_exe': build_dir},
'build_exe': build_options,
'bdist_msi': bdist_msi_options,
},
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.