[英]Pyinstaller 3.5 will not generate a standalone executable
我正在嘗試讓Pyinstaller 3.5創建一個“ onefile”可執行文件,但它一直在生成“ onedir”。
我的文件都放在一個目錄中。 有一個主程序可以導入其他兩個模塊,而后者又可以導入第三個模塊。 直接在Python 3.7.4中運行時,程序可以正常運行。 Pyinstaller生成的“ onedir”版本也可以使用。 我在Surface Book 2上運行64位Windows 10 Pro。
我用來生成文件的命令是:
pyinstaller --onefile --windowed --additional-hooks-dir=. qualys_admin.spec
我的程序使用wx,pubsub,xmltodict,請求和熊貓。 額外的掛鈎文件用於xlrd,熊貓需要讀取該文件才能讀取xlsx文件。
我的規格文件如下所示:
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
# work-around for https://github.com/pyinstaller/pyinstaller/issues/4064
import distutils
if distutils.distutils_path.endswith('__init__.py'):
distutils.distutils_path = os.path.dirname(distutils.distutils_path)
addedfiles = ('qualys_admin.ini', '.')
a = Analysis(['qualys_admin.py'],
pathex=['C:\\Users\\secops-sw\\Documents\\qualys-
administration\\qualysadmin'],
binaries=[],
datas=[addedfiles],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='qualys_admin',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='qualys_admin')
我編寫了一個微型的“ hello world”程序,以消除程序的復雜性。 我能夠成功生成“ onedir”和“ onefile”。 所以我知道在哪里尋找獨立的可執行文件。
對於我的qualys_admin應用程序,絕對不會生成該可執行文件,並且我找不到任何警告來表明原因。
有人有什么想法嗎?
它不起作用,因為您的規范文件配置為一種目錄模式。 您需要使用一個文件標志創建規范文件。
pyi-makespec --onefile yourscript.py
然后,您可以修改規格表並使用自定義規格表構建應用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.