gpt4 book ai didi

python - Py2exe 编译正确但构建的应用程序不工作

转载 作者:太空宇宙 更新时间:2023-11-04 03:45:42 26 4
gpt4 key购买 nike

我正在使用 Python 2.7 构建我的应用程序。在其中,我使用了几个包,它们是 numpyscipycsvsysxlwttimewxpythonoperator

以上所有包都是64位的,我在Windows 7 Professional(64位版本)的Aptana Studio 3(64位版本)中使用python 2.7(64位版本)。

最后,我想使用以下代码将我的项目编译成应用程序,文件名为py2exeTest.py:

from distutils.core import setup
import numpy # numpy is imported to deal with missing .dll file

import py2exe

setup(console=["Graphical_Interface.py"])

然后在 cmd 中,我切换到项目目录并使用以下行编译它:

python py2exeTest.py py2exe

一切顺利,在dist目录下生成了一个应用程序,应用程序名称为Graphical_Interface.exe

我双击它,但是出现了一个cmd窗口,一个python输出窗口闪烁,然后它们都消失了。我尝试以管理员身份运行该应用程序,结果与之前相同。

我可以知道如何解决这个问题吗?

谢谢!

编辑:

我已经设法捕捉到屏幕上闪烁的错误信息。我得到的错误信息是:

Traceback (most recent call last):
File "Graphical_Interface.py", line 397, in <module>
File "Graphical_Interface.py", line 136, in __init__
File "wx\_core.pyc", line 3369, in ConvertToBitmap
wx._core.PyAssertionError: C++ assertion "image.Ok()" failed at ..\..\src\msw\bitmap.cpp(802) in wxBitmap::CreateFromImage(): invalid image

我在项目中使用了一张PNG图片,代码如下:

self.workflow = wx.Image("Work Flow.png", wx.BITMAP_TYPE_ANY).ConvertToBitmap()
wx.StaticBitmap(self.panel_settings, -1, self.workflow, (330,270), (self.workflow.GetWidth(), self.workflow.GetHeight()))

我尝试将上述 block 从项目中注释掉,应用程序正常运行。但是,我需要图像显示在应用程序中。

我可以知道如何处理吗?

谢谢。

最佳答案

当编译图形应用程序时,你不能将它们创建为控制台应用程序,因为原因(老实说我无法解释具体细节),但试试这个:

from distutils.core import setup
import numpy
import py2exe
import wxpython
setup(window=['Graphical_Interface.py'],
options={"py2exe" { 'boundle_files' : 1}})

同时考虑更改为:

它适用于 Python3,支持多种平台。
cx_freeze script看起来像:

import sys
from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}

# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
base = "Win32GUI"

includefiles = ['/folder/image.png']

setup( name = "GUIprog",
version = "0.1",
description = "My GUI application!",
options = {"build_exe": build_exe_options, 'include_files' : includefiles},
executables = [Executable("Graphical_Interface.py", base=base)])

关于python - Py2exe 编译正确但构建的应用程序不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23952878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com