py2exe odbc:cannot import dbi module

Thomas Heller theller at python.net
Tue Mar 2 20:09:00 CET 2004


mederis at hotmail.com (Marc Ederis) writes:

> Hello,
>
> I'm trying to create an executable with py2exe, and it uses the odbc
> module. The script runs fine until I use py2exe on it and run the
> .exe. Then I get:
>
> --
> Traceback (most recent call last):
>   File "dbmod.py", line 2, in ?
>   File "odbc.pyo", line 9, in ?
>   File "odbc.pyo", line 7, in __load
> odbc: Cannot import dbi module
> --
>
> dbi.dll is in the dist folder, and so is odbc.pyd.
>
> Does anyone know how to solve this problem?

It seems you have to first explicitely import the dbi module before the
odbc module can be imported.

"""
import dbi, odbc
"""

py2exe doesn't know that dbi.dll is a python extension - it is only
found as binary dependency.  And you should not (must not?) distribute
odbc32.dll, which is also copied to the dist folder.

In py2exe 0.5, you *should* be able to specify
   dll_exludes = ["odbc32.dll"]
but this doesn't seem to work.

Thomas





More information about the Python-list mailing list