0

ウィンドウに QWebView 要素を 1 つ追加するまで、私の cx_freeze ビルドは正しく機能していました。これは、QtWebKit をインポートする必要があることを意味しますよね? Linux では、すべてが完全に機能します。Windows で main.py ファイルを実行すると、すべてが完全に機能します。

.exe にフリーズすると、次のエラーが発生します。これは私の 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 要素の前には、まったく問題はありませんでした。

4

2 に答える 2

4

cx_freeze 4.3 にアップグレードしてインポートを編集するとうまくいきました。インポートは次のようになりました。

from PyQt4.QtNetwork import *
from PyQt4.QtWebKit import QWebView,QWebPage
于 2012-08-12T12:41:09.710 に答える
1

cx_Freeze に依存関係を認識させるためだけに、インポートを追加する (そしておそらく名前空間を汚染する) べきではありません。
PyQt4.QtWebKit で行ったように、「includes」リストに PyQt4.QtNetwork を追加してください。
「packages」オプションを使用して、パッケージのすべてのモジュールを含めることもできます。つまり、「パッケージ」はパッケージ全体を表し、「インクルード」はモジュールを表します。

于 2013-02-10T17:00:00.997 に答える