PyInstaller и IBM_DB, DLL не найдена - PullRequest
0 голосов
/ 05 мая 2018

Я написал приложение, которое загружает данные SQLAlchemy из разных баз данных. Этот инструмент используется уже два года, и теперь я хочу встроить базу данных DB2.

self.engine = create_engine("db2+ibm_db://{}:{}@{}:{}/{}".format(user,password,server,port,dbname))

Все прекрасно работает в среде разработки PyCharm. Но как только я создаю исполняемый файл с помощью PyInstaller и запускаю его, появляется следующее сообщение об ошибке:

Traceback (most recent call last):
  File "coco.py", line 3, in <module>
  File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "allyouneed.py", line 4, in <module>
  File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "ais.py", line 27, in <module>
  File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "Lib\site-packages\ibm_db.py", line 13, in <module>
  File "Lib\site-packages\ibm_db.py", line 12, in __bootstrap__
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
Failed to execute script coco

Отсутствует DLL - ibm_db.dll. Исполняемый файл смотрит на это место:

C: \ Users \ JASSIN ~ 1.ROD \ AppData \ Local \ Temp_MEI11 ~ 1 \ ibm_db_dlls \ ibm_db.dll

но нет DLL. Файл спецификаций PyInstaller:

# -*- mode: python -*-

block_cipher = None
a = Analysis(['coco.py'],
             pathex=['C:\\Python27\\Lib\\site-packages\\',
                     'C:\\Python27\\Lib\\site-packages\\sqlalchemy\\connectors\\',
                     'C:\\Python27\\Lib\\site-packages\\clidriver\\',
                     'C:\\Python27\\Lib\\site-packages\\ibm_db_dlls',
                     'C:\\Python27\\Lib\\site-packages\\ibm_db_sa',
                     'C:\\Python27\\Lib\\site-packages\\ibm_db.py'
                     ],
             binaries = [],
             datas=[],
             hiddenimports=['pymssql',
                            'pymysql',
                            'pyodbc',
                            'ibm_db_sa',
                            '_mssql',
                            'pkg_resources',
                            'sqlalchemy',
                            'ibm_db',
                            'ibm_db_dlls',
                            'clidriver'
                             ],
             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='ConsultingConnector',
          debug=False,
          strip=False,
          upx=True,
          console=True,
          icon='coco_icon.ico')

Может быть, кто-то знает проблему или может помочь мне. Я действительно в отчаянии.

Спасибо и всего наилучшего Jassin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...