簡體   English   中英

使用py2exe(QtCore)構建PyQt腳本時出現問題

[英]Problem while building a PyQt script with py2exe (QtCore)

我正在嘗試使用pyqt在Windows中制作一個簡單的hello-world可執行python gui應用程序。 所以我做了pyqt.py文件

import sys
from PyQt4.QtGui import *
app = QApplication(sys.argv)
button = QPushButton("Hello World", None)
button.show()
app.exec_()

我嘗試將py2exe與以下setup.py腳本一起使用:

from py2exe.build_exe import py2exe
from distutils.core import setup

setup( console=[{"script": "pyqt.py"}] )

(我首先將No module named sip error,但由於Py2exeAndPyQt頁面,此問題得以解決)。

現在我有了可執行文件,當我嘗試運行它時,出現以下錯誤:

Traceback (most recent call last):
  File "pyqt.py", line 2, in <module>
  File "PyQt4\QtGui.pyc", line 12, in <module>
  File "PyQt4\QtGui.pyc", line 10, in __load
ImportError: No module named QtCore

我該如何解決? TIA

您可以執行以下操作,無需導入*。

py2exe_opciones = {'py2exe': {"includes":["sip"]}}
script = [{"script":"pyqt.py"}]

setup(windows=script,options=py2exe_opciones)

現在該程序應該可以工作了。 我有同樣的錯誤。

在這里可以閱讀更多。

from PyQt4.QtCore import *添加到pyqt.py。

我不確定為什么沒有自動包含它,但是我認為它與QtCore僅由QtGui使用,這是一個C ++庫。例如,py2exe僅自動檢測python依賴項...因此,您必須手動導入它。

這是一個例子

from setuptools import setup
import py2exe
from glob import glob

SETUP_DICT = {
    'windows': [{
        'script': 'main.py',
    }],

    'zipfile': 'lib/library.zip',

    'data_files': (
        ('', glob(r'C:\Windows\SYSTEM32\msvcp100.dll')),
        ('', glob(r'C:\Windows\SYSTEM32\msvcr100.dll')),
    ),

    'options': {
        'py2exe': {
            'bundle_files': 3,
            'includes': ['sip', 'PyQt4.QtCore'],
        },
    }
}

setup(**SETUP_DICT)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM