Pyinstaller QtCore 模块导入错误
我正在尝试使用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上进行构建的。有人知道为什么会出现这个问题吗?
2 个回答
0
我之前也遇到过类似的问题。当我运行命令 pyinstaller --onedir main.py 的时候,出现了那个错误。
我把 Qt5core.dll 文件复制到了生成的 .exe 文件所在的文件夹里,然后再放到 \PyQt\bin 文件夹里,结果一切都正常了。
6
现在的PyInstaller版本里有个bug,导致了这个问题。想了解更多细节,可以看看这个链接。
好消息是,这个问题已经修复了。坏消息是,修复的版本要等到PyInstaller 2.2才会发布。在这之前,你可以试试安装一个开发版的PyInstaller,来解决这个问题。