Использование kinterbasdb с py2exe - PullRequest
1 голос
/ 16 ноября 2011

Я пытаюсь создать исполняемую программу с py2exe. При импорте kinterbasdb появляется следующее сообщение об ошибке:

Traceback (most recent call last):
  File "AlarmReporter.py", line 13, in <module>
  File "zipextimporter.pyo", line 82, in load_module
  File "kinterbasdb\__init__.pyo", line 119, in <module>
  File "zipextimporter.pyo", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading kinterbasdb\_kinterbasdb.pyd

Вот мой самый простой setup.py для py2exe:

from distutils.core import setup
import py2exe
import sys


setup(
        options={'py2exe': dict(bundle_files=1, optimize=2)},
        console=['AlarmReporter.py'],
        zipfile=None,
)

У меня проблемы с пониманием сообщения об ошибке, и я не знаю, как его исправить.

1 Ответ

1 голос
/ 17 января 2012

Попробуйте исключить libfbclient dll

Ошибка при преобразовании .py в .exe

Если это не сработает, попробуйте использовать новый драйвер fdb (будущая замена kinterbasdb) http://permalink.gmane.org/gmane.comp.db.firebird.python/104 (не нужно компилировать только libfbclient.dll)

Другой вариант - использовать чистый драйвер, который не нуждается ни в dll, ни в сгенерированном двоичном файле https://github.com/nakagami/pyfirebirdsql

Но вы будете использовать его на свой страх и риск;)

...