2013-02-11 93 views
3

大家好,感謝您的閱讀。我使用pyinstaller包裝我的Python代碼在一個文件中,但是當我跑我打包的文件我得到以下錯誤:使用pyinstaller打包:找不到PyQt4模塊

Traceback (most recent call last): 
File "<string>", line 21, in <module> 
File "C:\Users\****\Desktop\pyinstaller-2.0\pyinstaller-2.0\PyInstaller\loader\iu.py", line 409, in importHook 
ImportError: No module named PyQt4.QtCore 

我不知道這是什麼錯誤是告訴我,特別是因爲有在我的桌面上沒有dir名稱pyinstaller-2.0,我根本沒有使用PyQt4。

進口模塊:Tkinter, tkFileDialog, tkMessageBox, multiprocessing, os, sys, time, numpy, scipy.weave, pywt, matplotlib.pyplot

我想,因爲我以前沒遇到此錯誤的問題是關係到multiprocessing。我使用this recipe正確實施了multiprocessing模塊。

回答

3

如果您正在使用PyQt那麼唯一的方法導入與PyInstaller模塊是使用

from PyQt4 import QtCore, QtGui 

而不是

import PyQt4.QtCore, PyQt4.QtGui 

,你的錯誤暗示。但是,你說你沒有使用PyQt

PyQtmatplotlib一個可選的依賴所以有機會PyInstaller正在檢查matplotlib模塊,並因此包括PyQt

我建議從構建中排除PyQt模塊;在.spec文件,搜索出的Analysis類行 - 就像

Analysis(..., excludes=['PyQt4', 'PyQt4.QtCore', 'PyQt4.QtGui']) 

的東西,上面建議編輯excludes關鍵字ARG。