2013-08-28 4 views
0

Я создаю один код, а затем создаю exe из .py с помощью py2exe.извлечение python exe, созданного с помощью Iexpress с получением ImportError: Ошибка загрузки DLL: указанный модуль не найден. Ошибка

Теперь я хочу создать самораскрытое для того же самого, поэтому я использовал Iexpress для этого. Я могу создать ех из IExpress, но когда я пытаюсь извлечь мое приложение из еха создано я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
File "C.py", line 44, in <module> 
File "A.pyc", line 4, in <module> 
File "PyQt4\QtGui.pyc", line 12, in <module> 
File "PyQt4\QtGui.pyc", line 10, in __load 
ImportError: DLL load failed: The specified module could not be found. 

кажется, ошибка все приходит в строке:

from PyQt4 import QtCore, QtGui 

Я видел некоторые способы исправить это в Интернете, но не смог это исправить. У кого-нибудь есть идеи?

ответ

0

Я попытался воспроизвести это здесь, но он работает нормально. Вот что я сделал:

  1. Созданный файл hello-pyqt.py, используя этот вопрос: How to implement a simple button in PyQt

  2. Создано setup.py:

    from distutils.core import setup 
    import py2exe 
    
    setup(console=['hello-pyqt.py'], 
         options={'py2exe': {'bundle_files': 1, 
              'dll_excludes': ['w9xpopen.exe', 'MSVCP90.dll'], 
              'includes': ['sip']}} 
        ) 
    

    dll_excludes и includes трюки пришли от ответа на py2exe fails to generate an executable и это Py2exeAndPyQt page, соответственно.

  3. Выполненная setup.py:

    python setup.py py2exe 
    
  4. Испытано выход перед использованием IExpress:

    dist\hello-pyqt.exe 
    
  5. Прилагаемое его IExpress обычным способом:

    • Добавлено как hello-pyqt.exe и library.zip.
    • Установите команду на номер hello-pyqt.exe.
    • Включено Длинная поддержка имени файла.

Сравните ваш процесс с одним я использую (выше) и посмотреть, если есть что-нибудь, что могло бы помочь. В противном случае я бы использовал Process Monitor, чтобы увидеть, какую DLL он не загружает и где он выглядит.


Библиотеки DLL, которые связаны в моей library.zip являются: QtCore4.dll и QtGui4.dll. Возможно, вы захотите проверить свой library.zip, чтобы убедиться, что эти файлы есть.

Смежные вопросы