PySide的“Hello World”:py2exe / pyinstaller / cx_fre

2019-09-22 08:10发布

我想建立使用PySide一个非常基本的可执行文件(Windows)中。 下面的脚本可以正常运行在解释器(Python 2.7版,PySide 1.1.2)

#!/usr/bin/python

import sys

sys.stdout = open("my_stdout.log", "w")
sys.stderr = open("my_stderr.log", "w")

import PySide.QtGui
from PySide.QtGui import QApplication
from PySide.QtGui import QMessageBox


# Create the application object
app = QApplication(sys.argv)

# Create a simple dialog box
msgBox = QMessageBox()
msgBox.setText("Hello World - using PySide version " + PySide.__version__)
msgBox.exec_()

我试图3种方法(py2exe,pyinstaller和cx_freeze)和所有3名产生的可执行程序无法执行。 这两个标准输出/标准错误文件出现,所以我找到的第一个PySide进口量使得一切都失败。 (未处理的异常/访问冲突)

我分析了依赖(可执行文件http://www.dependencywalker.com/ ),一切看起来正确链接。

任何想法?

Answer 1:

您需要添加的AtExit模组为包括。 来源: http://qt-project.org/wiki/Packaging_PySide_applications_on_Windows

(也是用于Linux的情况下顺便说一句)



Answer 2:

谢谢您的帮助。 其实,这并没有改变任何东西:/但是,我发现了一个解决我的问题:如果我添加from PySide import QtCore, QtGui ,那么可执行文件(用pyinstaller)不工作!



文章来源: PySide “hello world”: py2exe/pyinstaller/cx_freeze and access violation