not quite there . Took a bit to get it to pick up config files and .dylibs for opengl, but now that the package looks okay, we get a segfault without error messages.
same path to get there and same instacrash with plain panda3d project or with qpanda3d.
Once I get it dialed in, II’ll make a minimal panda3d+pyinstaller example with a setup_pyinstaller.py
, and then move on to a panda3d+qt+pyinstaller example.
command line version:
python3 -m PyInstaller --additional-hooks-dir pyinstaller_hooks \
qtpan2.py \
--add-data etc:etc \
--add-data qml:qml \
--add-binary extralib:.
spec version (collapsed)
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['qtpan2.py'],
pathex=['<path omittted>/pandatest'],
binaries=[('extralib', '.')],
datas=[('etc', 'etc'), ('qml', 'qml')],
hiddenimports=[],
hookspath=['pyinstaller_hooks'],
hooksconfig={},
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='qtpan2',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True,
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='qtpan2')
% dist/qtpan2/qtpan2
qml: LOADER SwitchDelegate_QMLTYPE_0_QML_2(0x7f8a17146cd0) {"objectName":"","name":"single_cluster","type":"<class 'bool'>","value":false,"fullpath":"DesignOptions.single_cluster","path":"DesignOptions","meta":{}}
Known pipe types:
CocoaGraphicsPipe
(all display modules loaded.)
zsh: segmentation fault dist/qtpan2/qtpan2
%
(good news: QML is running and doing my console.log() statements. bad news: segfault, with or withotu Qt)