I'm using pyinstaller to convert about two dozen python scripts. I originally created them individually and that worked fine. However, some of the files were quite large (a few hundred MB) because of the modules that pyinstaller pulled in. Many of the scripts are pulling in the same large files so I created a merge.spec file and used that to create a set of pyinstaller outputs that would share those large modules.
[12323] Error loading Python lib '/tmp/_MEIz5PyAG/libpython3.8.so.1.0': dlopen: /tmp/_MEIz5PyAG/libpython3.8.so.1.0: cannot open shared object file: No such file or directory
I've tried both '--onedir' and '--onefile' variations and a couple of other things but every attempt I have made using merge.spec results in this error.
Below is my 'merge.spec' file. Thank you!
-------------------------------------- merge.spec -----------------------------------------------
antenna_a = Analysis(['antenna.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
combineH5_a = Analysis(['combineH5.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
current_a = Analysis(['current.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
design_optimization_a = Analysis(['design_optimization.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
em_solver_a = Analysis(['em_solver.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
fft_a = Analysis(['fft.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
integrate_port_field_a = Analysis(['integrate_port_field.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
plot_a = Analysis(['plot.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
post_hfss_processing_a = Analysis(['post_hfss_processing.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
post_sentri_processing_a = Analysis(['post_sentri_processing.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
power_a = Analysis(['power.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
rlgc_a = Analysis(['rlgc.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
run_jar_a = Analysis(['run_jar.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
run_lim_a = Analysis(['run_lim.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
run_slim_a = Analysis(['run_slim.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
run_spice_a = Analysis(['run_spice.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
se_to_circuit_a = Analysis(['se-to-circuit.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
shielded_cable_a = Analysis(['shielded_cable.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
source_extrapolation_a = Analysis(['source_extrapolation.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
sparameters_a = Analysis(['sparameters.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
tasmanian_a = Analysis(['tasmanian.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
transmission_line_a = Analysis(['transmission_line.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
update_cubit_a = Analysis(['update_cubit.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
voltage_a = Analysis(['voltage.py'],
pathex=['/home/Synclesis/Software/fireflow/pywrappers'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
noarchive=False)
MERGE( \
(antenna_a, 'antenna', 'antenna'), \
(combineH5_a, 'combineH5', 'combineH5'), \
(current_a, 'current', 'current'), \
(design_optimization_a, 'design_optimization', 'design_optimization'), \
(em_solver_a, 'em_solver', 'em_solver'), \
(fft_a, 'fft', 'fft'), \
(integrate_port_field_a, 'integrate_port_field', 'integrate_port_field'), \
(plot_a, 'plot', 'plot'), \
(post_hfss_processing_a, 'post_hfss_processing', 'post_hfss_processing'), \
(post_sentri_processing_a, 'post_sentri_processing', 'post_sentri_processing'), \
(power_a, 'power', 'power'), \
(rlgc_a, 'rlgc', 'rlgc'), \
(run_jar_a, 'run_jar', 'run_jar'), \
(run_lim_a, 'run_lim', 'run_lim'), \
(run_slim_a, 'run_slim', 'run_slim'), \
(run_spice_a, 'run_spice', 'run_spice'), \
(se_to_circuit_a, 'se-to-circuit', 'se-to-circuit'), \
(shielded_cable_a, 'shielded_cable', 'shielded_cable'), \
(source_extrapolation_a, 'source_extrapolation', 'source_extrapolation'), \
(sparameters_a, 'sparameters', 'sparameters'), \
(tasmanian_a, 'tasmanian', 'tasmanian'), \
(transmission_line_a, 'transmission_line', 'transmission_line'), \
(update_cubit_a, 'update_cubit', 'update_cubit'), \
(voltage_a, 'voltage', 'voltage') \
)
antenna_pyz = PYZ(antenna_a.pure, antenna_a.zipped_data)
antenna_exe = EXE(antenna_pyz,
antenna_a.scripts,
antenna_a.binaries,
antenna_a.zipfiles,
antenna_a.datas,
[],
name='antenna',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
combineH5_pyz = PYZ(combineH5_a.pure, combineH5_a.zipped_data)
combineH5_exe = EXE(combineH5_pyz,
combineH5_a.scripts,
combineH5_a.binaries,
combineH5_a.zipfiles,
combineH5_a.datas,
[],
name='combineH5',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
current_pyz = PYZ(current_a.pure, current_a.zipped_data)
current_exe = EXE(current_pyz,
current_a.scripts,
current_a.binaries,
current_a.zipfiles,
current_a.datas,
[],
name='current',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
design_optimization_pyz = PYZ(design_optimization_a.pure, design_optimization_a.zipped_data)
design_optimization_exe = EXE(design_optimization_pyz,
design_optimization_a.scripts,
design_optimization_a.binaries,
design_optimization_a.zipfiles,
design_optimization_a.datas,
[],
name='design_optimization',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
em_solver_pyz = PYZ(em_solver_a.pure, em_solver_a.zipped_data)
em_solver_exe = EXE(em_solver_pyz,
em_solver_a.scripts,
em_solver_a.binaries,
em_solver_a.zipfiles,
em_solver_a.datas,
[],
name='em_solver',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
fft_pyz = PYZ(fft_a.pure, fft_a.zipped_data)
fft_exe = EXE(fft_pyz,
fft_a.scripts,
fft_a.binaries,
fft_a.zipfiles,
fft_a.datas,
[],
name='fft',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
integrate_port_field_pyz = PYZ(integrate_port_field_a.pure, integrate_port_field_a.zipped_data)
integrate_port_field_exe = EXE(integrate_port_field_pyz,
integrate_port_field_a.scripts,
integrate_port_field_a.binaries,
integrate_port_field_a.zipfiles,
integrate_port_field_a.datas,
[],
name='integrate_port_field',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
plot_pyz = PYZ(plot_a.pure, plot_a.zipped_data)
plot_exe = EXE(plot_pyz,
plot_a.scripts,
plot_a.binaries,
plot_a.zipfiles,
plot_a.datas,
[],
name='plot',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
post_hfss_processing_pyz = PYZ(post_hfss_processing_a.pure, post_hfss_processing_a.zipped_data)
post_hfss_processing_exe = EXE(post_hfss_processing_pyz,
post_hfss_processing_a.scripts,
post_hfss_processing_a.binaries,
post_hfss_processing_a.zipfiles,
post_hfss_processing_a.datas,
[],
name='post_hfss_processing',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
post_sentri_processing_pyz = PYZ(post_sentri_processing_a.pure, post_sentri_processing_a.zipped_data)
post_sentri_processing_exe = EXE(post_sentri_processing_pyz,
post_sentri_processing_a.scripts,
post_sentri_processing_a.binaries,
post_sentri_processing_a.zipfiles,
post_sentri_processing_a.datas,
[],
name='post_sentri_processing',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
power_pyz = PYZ(power_a.pure, power_a.zipped_data)
power_exe = EXE(power_pyz,
power_a.scripts,
power_a.binaries,
power_a.zipfiles,
power_a.datas,
[],
name='power',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
rlgc_pyz = PYZ(rlgc_a.pure, rlgc_a.zipped_data)
rlgc_exe = EXE(rlgc_pyz,
rlgc_a.scripts,
rlgc_a.binaries,
rlgc_a.zipfiles,
rlgc_a.datas,
[],
name='rlgc',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
run_jar_pyz = PYZ(run_jar_a.pure, run_jar_a.zipped_data)
run_jar_exe = EXE(run_jar_pyz,
run_jar_a.scripts,
run_jar_a.binaries,
run_jar_a.zipfiles,
run_jar_a.datas,
[],
name='run_jar',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
run_lim_pyz = PYZ(run_lim_a.pure, run_lim_a.zipped_data)
run_lim_exe = EXE(run_lim_pyz,
run_lim_a.scripts,
run_lim_a.binaries,
run_lim_a.zipfiles,
run_lim_a.datas,
[],
name='run_lim',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
run_slim_pyz = PYZ(run_slim_a.pure, run_slim_a.zipped_data)
run_slim_exe = EXE(run_slim_pyz,
run_slim_a.scripts,
run_slim_a.binaries,
run_slim_a.zipfiles,
run_slim_a.datas,
[],
name='run_slim',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
run_spice_pyz = PYZ(run_spice_a.pure, run_spice_a.zipped_data)
run_spice_exe = EXE(run_spice_pyz,
run_spice_a.scripts,
run_spice_a.binaries,
run_spice_a.zipfiles,
run_spice_a.datas,
[],
name='run_spice',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
se_to_circuit_pyz = PYZ(se_to_circuit_a.pure, se_to_circuit_a.zipped_data)
se_to_circuit_exe = EXE(se_to_circuit_pyz,
se_to_circuit_a.scripts,
se_to_circuit_a.binaries,
se_to_circuit_a.zipfiles,
se_to_circuit_a.datas,
[],
name='se-to-circuit',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
shielded_cable_pyz = PYZ(shielded_cable_a.pure, shielded_cable_a.zipped_data)
shielded_cable_exe = EXE(shielded_cable_pyz,
shielded_cable_a.scripts,
shielded_cable_a.binaries,
shielded_cable_a.zipfiles,
shielded_cable_a.datas,
[],
name='shielded_cable',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
source_extrapolation_pyz = PYZ(source_extrapolation_a.pure, source_extrapolation_a.zipped_data)
source_extrapolation_exe = EXE(source_extrapolation_pyz,
source_extrapolation_a.scripts,
source_extrapolation_a.binaries,
source_extrapolation_a.zipfiles,
source_extrapolation_a.datas,
[],
name='source_extrapolation',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
sparameters_pyz = PYZ(sparameters_a.pure, sparameters_a.zipped_data)
sparameters_exe = EXE(sparameters_pyz,
sparameters_a.scripts,
sparameters_a.binaries,
sparameters_a.zipfiles,
sparameters_a.datas,
[],
name='sparameters',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
tasmanian_pyz = PYZ(tasmanian_a.pure, tasmanian_a.zipped_data)
tasmanian_exe = EXE(tasmanian_pyz,
tasmanian_a.scripts,
tasmanian_a.binaries,
tasmanian_a.zipfiles,
tasmanian_a.datas,
[],
name='tasmanian',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
transmission_line_pyz = PYZ(transmission_line_a.pure, transmission_line_a.zipped_data)
transmission_line_exe = EXE(transmission_line_pyz,
transmission_line_a.scripts,
transmission_line_a.binaries,
transmission_line_a.zipfiles,
transmission_line_a.datas,
[],
name='transmission_line',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
update_cubit_pyz = PYZ(update_cubit_a.pure, update_cubit_a.zipped_data)
update_cubit_exe = EXE(update_cubit_pyz,
update_cubit_a.scripts,
update_cubit_a.binaries,
update_cubit_a.zipfiles,
update_cubit_a.datas,
[],
name='update_cubit',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
voltage_pyz = PYZ(voltage_a.pure, voltage_a.zipped_data)
voltage_exe = EXE(voltage_pyz,
voltage_a.scripts,
voltage_a.binaries,
voltage_a.zipfiles,
voltage_a.datas,
[],
name='voltage',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=True )