Я пытаюсь преобразовать свой код в исполняемый файл, используя спецификацию pyinstaller.Я запустил pyinstaller с помощью следующей команды:
pyinstaller --clean --add-data lib_lightgbm.dll;\compile orca.spec
Exe не работает с ошибкой:
main__.PyInstallerImportError: Failed to load dynlib/dll
'C:\\Users\\...\\lightgbm\\../compile\\lib_lightgbm.dll'. Most probably this
dynlib/dll was not found when the application was frozen.
Я попытался добавить lightgbm.dll через двоичные файлы, но не сработал.Я также попытался вручную скопировать его в место назначения после создания exe.Это тоже не сработало.Большинство вопросов о pyinstaller и lib_lightgbm.dll не смогли ответить на мою проблему.Может кто-нибудь предложить решение?Я нахожусь в своем уме в данный момент.
Вот мой файл спецификаций:
# -*- mode: python -*-
import sys
sys.setrecursionlimit(5000)
block_cipher = None
a = Analysis(['mycode.py'],
pathex=['C:\\mycode\\source code'],
binaries=[],
datas=[],
hiddenimports=['cython', 'sklearn', 'sklearn.feature_extraction','sklearn.pipeline', 'sklearn.ensemble', 'sklearn.neighbors.typedefs', 'sklearn.neighbors.quad_tree', 'sklearn.tree._utils'],
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='mycode',
debug=True,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='mycode')