【问题标题】:Pyinstaller QtCore Module import errorPyinstaller QtCore 模块导入错误
【发布时间】:2014-07-05 18:07:08
【问题描述】:

我正在尝试使用 pyinstaller 的 --onefile 选项构建我的应用程序。这是摘录。

import sys
from PyQt4 import QtGui, QtCore
from modules.login import Login

def main():
    app = QtGui.QApplication(sys.argv)
    app.setQuitOnLastWindowClosed(False)
    login = Login()
    login.show()
    sys.exit(app.exec_())


if __name__ == "__main__":
    main()    

我尝试使用:

 >pyinstaller --onefile app.py

运行生成的 dist/app 我得到这个错误:

Traceback (most recent call last):
  File "<string>", line 36, in <module>
ImportError: No module named QtCore

我是从 Ubuntu 13 构建的。有人知道为什么会这样吗?

【问题讨论】:

  • 试试sudo apt-get install libqt4-dev
  • 正在运行.. > libqt4-dev 已经是最新版本了
  • 是的。它已安装,我可以在使用 Pyinstaller 构建之前运行该程序。
  • 你用的是哪个python版本?
  • 我决定从源代码构建一切。我会让你知道结果>pyqt.sourceforge.net/Docs/PyQt4/…

标签: python ubuntu user-interface pyinstaller


【解决方案1】:

当前版本的 PyInstaller 中存在导致此问题的错误。有关详细信息,请参阅此ticket

好消息是它已被修复。坏消息是它只出现在 PyInstaller 2.2 中。同时,您可以尝试安装 PyInstaller 的开发版本来解决此问题。

【讨论】:

  • 安装开发版本也对我有用。另见:stackoverflow.com/questions/20631157/…
  • 如何在 Ubuntu 中安装 PyInstaller 2.2?
  • 需要从GitHub下载源码包并安装。这是解压缩源存档的情况,然后运行python setup.py build,然后运行sudo python setup.py install
【解决方案2】:

我刚刚遇到了类似的问题,一旦我运行 pyinstaller --onedir main.py,我得到了那个错误。

我将生成的 .exe 所在文件夹中的 Qt5core.dll 复制到 \PyQt\bin 文件夹中,一切正常。

【讨论】:

    猜你喜欢
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2018-12-18
    相关资源
    最近更新 更多