我在python中创建一个非常简单的应用程序,使用Tkinter作为GUI,使用cx_freeze来构建它。
这一切都在一个简单的“sleep.py”文件中。
cx_freeze使用的setup.py文件如下:
from cx_Freeze import setup, Executable
executables = [
Executable('sleep.py', base=None)
]
setup(name='Sleep Calculator',
version='0.90',
description='Sample cx_Freeze script',
executables=executables
)
sleep.py文件正确启动:
- 从终端在MacOS中启动时
- 使用python3 setup.py build
时在MacOS中构建
- 使用python3 setup.py build_exe
在Windows中构建,然后手动将tkinter文件复制到cx_freeze创建的构建文件夹中
所以我有一个可以在Windows和Mac上运行的sleep.py文件,一个在MacOS中运行的脚本,以及一个在Windows上运行的EXE。
但是,当尝试使用python3 setup.py bdist_mac
构建.app时,我会在启动时立即关闭。
我在启动过程中获得的唯一消息是控制台 “从用户CFPrefsD加载搜索列表的首选项”
在构建期间,我获得了多个
fatal error: /Library/Developer/CommandLineTools/usr/bin/otool: internal objdump command failed
的错误。未安装Xcode,但CommandLineTools是。
此刻我几乎不知道OS X,所以欢迎任何帮助 谢谢!
答案 0 :(得分:0)
我遇到了一个同样的问题,即带有cx_freeze的应用程序一打开就将关闭,但是在程序包中运行可执行文件即可。
通过打开内置程序包并编辑info.plist文件,为我解决了该问题。
添加捆绑包标识符后,它应按预期启动。
<key>CFBundleIdentifier</key>
<string>My App</string>