2013-03-29 4 views
6

Я установил python3.3 x86 (официальный инсталлятор python.org) на этом окне 7 32-битPyQt4 не может импортировать QtGui, но может импортировать QtCore

затем установили PyQt4-4.10 для python3.3 Windows x86 здесь PyQt4-4.10-gpl-Py3.3-Qt5.0.1-x32-2.exe, официальный инсталлятор тоже полная установка PyQt4 (включая Qt Runtime)

Я проверил, что оба питона и PyQt4 находятся на $ PATH

но мне кажется, что я могу импортировать некоторые пакеты (например, QtCore), но не другие (например, QtGui)

, хотя они бок о бок в том же пути

>>> from PyQt4 import QtCore 
>>> QtCore.__file__ 
'C:\\Python33\\lib\\site-packages\\PyQt4\\QtCore.pyd' 
>>> from PyQt4 import QtGui 
Traceback (most recent call last): 
    File "<pyshell#2>", line 1, in <module> 
    from PyQt4 import QtGui 
ImportError: DLL load failed: The specified module could not be found. 
>>> import os 
>>> os.path.exists('C:\\Python33\\lib\\site-packages\\PyQt4\\QtGui.pyd') 
True 
>>> from PyQt4 import Qt 
>>> from PyQt4 import QtXml 
>>> from PyQt4 import QtNetwork 
>>> from PyQt4 import QtDesigner 
Traceback (most recent call last): 
    File "<pyshell#8>", line 1, in <module> 
    from PyQt4 import QtDesigner 
ImportError: DLL load failed: The specified module could not be found. 
>>> os.path.exists('C:\\Python33\\lib\\site-packages\\PyQt4\\QtDesigner.pyd') 
True 
+0

работы для QtCore.pyd терпит неудачу как для QtGui.pyd и Qt5Gui.dll и производит это сообщение: «OSError: [WinError 126] Указанный модуль не может быть найден» хотя оба файла находятся в том же пути QtCore .pyd – bahaelaila7

+0

Заранее спасибо – bahaelaila7

ответ

6

Qt5Gui.dll зависит от D3dCOMPILER_43.dll, которая является частью DirectX. Вы можете обновить свою установку с помощью DirectX End-User Runtime Web Installer.

+0

Большое спасибо, что разобрали проблему – bahaelaila7

1

Если вы не хотите установить весь DirectX вы можете сделать следующее:

Сначала скачать Directx распространяемый: http://www.microsoft.com/en-us/download/details.aspx?id=8109 (это своего рода самораскрывающегося MS-Cabinet-файл)

Тогда в Linux, например, Debian (на основе - должны работать аналогично и на других дистрибутивах):

sudo apt-get install cabextract 
mkdir cabs 
cabextract -d cabs -F JUN2010\* directx_Jun2010_redist.exe 
cd cabs 
mkdir x64 
cabextract -d x64 -F \*.dll *_x64.cab 

в Windows вы можете извлечь CAB-файлы, например, с помощью Winrar. Некоторые версии Windows включали утилиту командной строки для cab-файлов - я думаю, что она называлась extract.

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