我一直在尝试基于python 3脚本(版本3.7)为Mac OSX创建一个独立的GUI应用程序。直接从终端启动时,.py脚本运行完美。但这是给我父亲的,在下载.jpg时需要帮助,因此他需要一个简单的双击应用程序。
不幸的是,我尝试使用的所有工具似乎都与我正在使用的模块有关((py2App = openpyxl / pyinstaller = tkinter)。我现在要使用的是cx_Freeze。
然而,再次描述了Python 3.7的已知错误
我一直试图在Mac OSX机器上解决此问题,但找不到所引用的文件(在this GIT-hub上,该代码由上文第一篇文章链接)。
我想修复此错误,但我也想了解为什么这会增加我对python和创建独立应用程序的了解。
不幸的是,我不足以理解如何通过阅读GIT-hub帖子(因为它们是针对Windows系统的,并且我没有找到文件)来解决此问题,也不知道为什么会出现此错误。
预先感谢您的帮助。
有关信息,这是启动创建的可执行文件时终端输出的副本:
/Users/USER_NAME/Desktop/Python/DAD_PROJECT/build/exe.macosx-10.9-x86_64-3.7/PROJECT_NAME ; exit;
MacBook-Pro-de-USER_NAME:~ USER_NAME$ /Users/USER_NAME/Desktop/Python/DAD_PROJECT/build/exe.macosx-10.9-x86_64-3.7/PROJECT_NAME ; exit;
Fatal Python error: initfsencoding: unable to load the file system codec
ImportError: invalid flags 1545637508 in 'encodings'
Current thread 0x00007fff98191380 (most recent call first):
Abort trap: 6
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Opération terminée]
编辑(也是很好的选择)我的setup.py文件:
请注意,这是根据cx-freeze.readthedocs
上的建议,使用cxfreeze-quickstart在我的Mac上自动生成的from cx_Freeze import setup, Executable
# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = [], excludes = [])
import sys
base = 'Win32GUI' if sys.platform=='win32' else None
executables = [
Executable('PROJECT_NAME.py', base=base, targetName = 'PROJECT_NAME')
]
setup(name='PROJECT_NAME',
version = 'DAD_PROJECT',
description = 'Project for my dad',
options = dict(build_exe = buildOptions),
executables = executables)
答案 0 :(得分:1)
要查找您需要修改的freezer.py
文件的路径,请在Python控制台中运行以下命令:
from cx_Freeze import freezer
print(freezer.__file__)
然后根据cx_Freeze
存储库中的this commit修改此文件,这意味着删除用-
注释的红线并添加用+
注释的绿线。 / p>