2011-12-21 3 views
2

Я использую cx_Freeze для преобразования моей программы python в exe. Все работает нормально, когда это .py однако, когда я пришел, чтобы запустить exe, я получаю следующую трассировку;cx_Freeze/ldap: ImportError: DLL Load Failed% 1 не является допустимым приложением Win32

Traceback (most recent call last): 
    File "UCA_Starter.py", line 45, in <module> 
    File "UCA_Starter.py", line 39, in main 
    File "C:\Python26\Scripts\ClientSelector.py", line 20, in <module> 
    import login_d 
    File "C:\Python26\Scripts\login_d.py", line 6, in <module> 
    import ad_auth 
    File "C:\Python26\Scripts\ad_auth.py", line 1, in <module> 
    import ldap 
    File "C:\Python26\lib\site-packages\ldap\__init__.py", line 22, in <module> 
    from _ldap import * 
    File "ExtensionLoader_ldap__ldap.py", line 12, in <module> 
ImportError: DLL load failed: %1 is not a valid Win32 application. 

Я гугле эту проблему, но я до сих пор не уверен, что это даже означает, или, если это проблема с cx_Freeze или модуля, или если я просто не хватает библиотеки DLL. Любая помощь приветствуется. Заранее спасибо!

+0

Как именно вы создали exe? Если вы использовали скрипт cxfreeze, какие опции вы использовали? Если вы написали скрипт настройки distutils, можете ли вы его опубликовать? Похоже, что exe не может импортировать пакет 'ldap'. На каких пакетах зависит ваша программа? – Velociraptors

ответ

3

Попробуйте установить 32-разрядную версию cx_Freeze. Это сработало для меня.

+0

см. Также http://stackoverflow.com/a/4676478/126214 –