Я сгенерировал файл спецификации для своей программы с помощью команды:
pyi-makespec --onefile final_lines.py
и добавил двоичные файлы lsd.dll, а затем сгенерировал исполняемый файл с помощью этой команды:
pyinstaller --onefile final_lines.spec
финальная версия spec-файла выглядела так:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['final_lines.py'],
pathex=['C:\\Users\\yash.sharma\\Desktop\\text\\obj'],
binaries= [('C:\\Users\\yash.sharma\\AppData\\Local\\Programs\\Python\\Python36\\Lib\\site-packages\\pylsd\\lib\\win32\\x64\\lsd.dll', '.')],
datas=[],
hiddenimports=['C:\\Users\\yash.sharma\\AppData\\Local\\Programs\\Python\\Python36\\Lib\\site-packages\\pylsd\\bindings\\lsd_ctypes.py'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='final_lines',
debug=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=True )
мое имя файла кода было final_lines.py. Теперь exe работает нормально. Я не знаю мелких деталей, но оказывается, что вам нужно добавлять файлы .dll отдельно, так как pyinstaller не включает их самостоятельно.