首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Py2exe混淆错误

Py2exe混淆错误
EN

Stack Overflow用户
提问于 2013-03-01 07:51:45
回答 1查看 640关注 0票数 0

我使用的是Python2.4和符合我的的py2exe版本。我想要成为可执行文件的文件与其setup.py文件位于Python2.4文件夹中的同一个目录中。

当我运行脚本(在cmd中) c:\Python24\python.exe setup.py py2exe时,我的cmd中有一堆文本,并且出现了错误,就像您在图片中看到的那样。模块丢失,文件无法在可执行文件中提交。这个问题我已经有很长一段时间了,我不知道如何解决。我需要让我的程序可执行。

有什么办法解决这个问题吗?

编辑:我尝试了Python和Py2exe更新版本(2.6、2.7、3.2),但没有成功。我总是收到这样的错误:S,我尝试过使用cx_Freeze,也尝试了相同的:/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-04 18:27:43

几周后(甚至在此问题之前),我很高兴地说,我解决了这个问题!

I problem (http://i.stack.imgur.com/WpkjR.png)的第一部分:我通过在其中添加“排除”部分来编辑setup.py脚本来解决这个问题。这导致了可执行文件的成功制作!

修改后的setup.py脚本:

代码语言:javascript
复制
from distutils.core import setup
import py2exe
setup(windows=['source_static.py'], options={
          "py2exe": {
              "excludes": ["OpenGL.GL", "Numeric", "copyreg", "itertools.imap", "numpy", "pkg_resources", "queue", "winreg", "pygame.SRCALPHA", "pygame.sdlmain_osx"],
              }
          }
      )

因此,如果您有类似的问题,只需将那些“缺失”模块放入这一行“排除”。

第二部分:

在成功创建可执行文件之后,我遇到了下一个问题:“应用程序请求运行时以不寻常的方式终止它。请联系.”。经过一天又一天的寻找和思考如何解决另一个问题,我找到了一个方法。我不敢相信这个问题如此荒谬。问题在于我的代码中有字体定义:

代码语言:javascript
复制
font1 = pygame.font.SysFont(None, 13)

在将"None“更改为某个系统字体名称(例如"Arial”(必须是一个字符串))并进行编译之后,我无法相信我的.exe文件成功了!

代码语言:javascript
复制
font1 = pygame.font.SysFont("Arial", 13)

当然,您可以使用自己的字体,但您必须指定它的路径并在您的程序中定义它。

因此,对于所有正在经历这一问题的人来说,尝试这一步骤,我希望你们会成功。我真的希望这会对你有所帮助,因为为了解决这些问题,我已经失去了几天和几周的时间。我甚至尝试用所有版本的python和pygame制作我的.exe文件,使用许多其他的.exe构建器和安装脚本,但是没有成功。除了这些问题,我以前还有很多其他问题,但我在stackoverflow.com上找到了答案。

我很高兴我找到了解决这个问题的方法,如果你面临同样的问题,我也会帮助你。

小技巧(我也做过的事情):

1:将您的MicrosoftVisualC++库更新为最新的库。 第二:如果您的可执行程序需要类似的图像或字体,请将它们包含到dist文件夹中(您的.exe文件已经在这里创建)。 3:在创建.exe文件时,将所有需要的文件包含到setup.py脚本所在的文件夹中(主要脚本使用的所有文件和目录)。

使用Python2.7 x64pygamepy2exe

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15152993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档