Ошибка загрузки DLL ortools при использовании PyInstaller - PullRequest
0 голосов
/ 30 марта 2020

Я использовал PyInstaller для создания исполняемого файла GUI. Он отлично работает в моей собственной системе (Windows), но если я запускаю его в другой системе Windows, я получаю следующее сообщение об ошибке:

Traceback (most recent call last):
  File "mainPlanner.py", line 7, in <module>
  File "c:\users\tidi\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module
  File "optimizer.py", line 2, in <module>
  File "c:\users\tidi\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module
  File "ortools\constraint_solver\pywrapcp.py", line 13, in <module>
ImportError: DLL load failed: Kan opgegeven module niet vinden.
[141656] Failed to execute script mainPlanner

Я пробовал несколько способов добавить DLL но я не знаком с этой темой и не знаю, как продолжить.

Я создаю свой исполняемый файл через файл spe c, который выглядит следующим образом:

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None

a = Analysis([my_path],
             pathex=[my_path_2],
             binaries = [],
             datas=[('data', 'data')],
             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='mainPlanner',
          debug='all',
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=True , 
          icon='icon_path')
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               upx_exclude=[],
               name='mainPlanner')

Я знаю Я должен что-то добавить в переменную binaries, но пока не нашел нужную dll. Я пытался найти dll ortools через функцию 'collect_dynamic_libs от PyInstaller, но это возвращает пустой список.

Любая помощь будет фантастической c, действительно не знаю, что еще попробовать.

...