Я написал приложение, которое загружает данные 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