简体   繁体   English

尝试使用cx_freeze将python文件转换为可执行文件时出错

[英]Error on trying to convert a python file into an executable with cx_freeze

I've got code with PyQt: 我有PyQt的代码:

import sys

from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtWebKit import *

def main():
    page = raw_input('Escriu una web: ')
    app = QApplication(sys.argv)
    view = QWebView()
    view.settings().setAttribute(QWebSettings.JavascriptEnabled, True)
    view.load(QUrl(page))
    view.setWindowTitle('Titanicus 0.1')
    view.show()
    app.exec_()

if __name__ == '__main__':
    main()

And my setup.py file is this: 我的setup.py文件是这样的:

    import sys
    from cx_Freeze import setup, Executable

    setup(
        name = "On Dijkstra's Algorithm",
        version = "3.1",
        description = "A Dijkstra's Algorithm help tool.",
        executables = [Executable("nautilus.py")])

I've the folder build but when I try to open th new exe file it returns me that error: 我已经建立了文件夹,但是当我尝试打开新的exe文件时,它向我返回该错误:

File "ExtensionLoader_PyQt4_QtGui.py", line 11, in <module>
ImportError: No module named atexit

Help please! 请帮助!

I'd try adding options = {"build_exe" : {"includes" : "atexit" }} to setup.py , 我尝试将options = {"build_exe" : {"includes" : "atexit" }}setup.py

ref. 参考 https://bitbucket.org/reclosedev/cx_freeze/src/f3cacc2fd45a/samples/PyQt4/setup.py https://bitbucket.org/reclosedev/cx_freeze/src/f3cacc2fd45a/samples/PyQt4/setup.py

Try something like this: 尝试这样的事情:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from PyQt4 import QtGui, QtCore, QtWebKit, QtNetwork

class myWindow(QtWebKit.QWebView):
    def __init__(self, parent=None):
        super(myWindow, self).__init__(parent)
        self.setWindowTitle('Titanicus 0.1')
        self.settings().setAttribute(QtWebKit.QWebSettings.JavascriptEnabled, True)

        page = raw_input('Escriu una web: ')
        self.load(QtCore.QUrl(page))

if __name__ == "__main__":
    import  sys

    app  = QtGui.QApplication(sys.argv)
    main = myWindow()
    main.show()
    sys.exit(app.exec_())

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM