cx_freeze QtWebKit导入错误

时间:2012-08-11 14:21:24

标签: python-3.x pyqt4 cx-freeze

我的cx_freeze构建工作正常,直到我在窗口中添加了一个QWebView元素。这意味着我应该导入QtWebKit,对吧?在Linux上一切都很完美。在Windows上,如果我运行main.py文件,一切都很完美。

如果我将其冻结为.exe,则为error I get。这是我的install.py文件:

from cx_Freeze import setup, Executable

includes=["re","PyQt4.QtWebKit"]

exe = Executable(
    script="main.pyw",
    base="Win32GUI",
    targetName = "LEX.exe"
    )

setup(
    name = "blabla",
    version = "1.3",
    description = "My application",
    options = {"build_exe": {"includes":includes}},
    executables = [exe]
    )

我在x64 Windows 7上构建它,但是使用x86版本的PyQt4和Python3.2 x86。在那个QWebView元素之前没有任何问题。

2 个答案:

答案 0 :(得分:4)

升级到cx_freeze 4.3并编辑导入就可以了。进口现在是这样的:

from PyQt4.QtNetwork import *
from PyQt4.QtWebKit import QWebView,QWebPage

答案 1 :(得分:1)

您不应该只是为了让cx_Freeze识别出依赖关系而添加导入(并可能污染您的命名空间)。
而是像使用PyQt4.QtWebKit一样将PyQt4.QtNetwork添加到“包含”列表中。
您还可以使用“packages”选项包括程序包的所有模块。也就是说,“包”用于整个包,“包含”用于模块。