如何在 OSX 上使用 cx_Freeze 隐藏控制台
Posted
技术标签:
【中文标题】如何在 OSX 上使用 cx_Freeze 隐藏控制台【英文标题】:how to hide console using cx_Freeze on OSX 【发布时间】:2018-02-23 23:05:02 【问题描述】:我使用 tkinter 创建了简单的 GUI,然后我使用 cx_Freeze 创建了 .exe 文件,当我打开 .exe 文件时,它显示控制台而不是 GUI 窗口。我想要的是隐藏控制台,只是为了显示 GUI 窗口。
-
python 3.6.3
cx_Freeze 5.1.1
平台:macOS Sierra 10.12
hello.py 文件代码:
from tkinter import Tk, Label, Button, BOTTOM
root = Tk()
root.title('Button')
Label(text='Hello').pack(pady=15)
Button(text='Button').pack(side=BOTTOM)
root.mainloop()
setup.py 文件代码:
from cx_Freeze import setup, Executable
base = None
executables = [
Executable('hello.py', base=base)
]
setup(name='simple_Tkinter',
version='0.1',
description='Sample cx_Freeze Tkinter script',
executables=executables
)
【问题讨论】:
可能的解决方法使用网站,我绝不承担任何责任,py2exe.net 【参考方案1】:在你的 setup.py 文件中添加这个(主要问题)
import sys
base = 'Win32GUI' if sys.platform == 'win32' else None
这也是(以防万一)
buildOptions = dict(
packages=['scrollFrame', 'searchSetup', "tkinter", "threading", "sqlite3", "openpyxl", "re"],
include_msvcr=True,
excludes=['numpy', 'scipy', 'matplotlib', 'pandas', 'jinja2', 'flask']
)
在你的 setup() 函数中添加这个
options=dict(build_exe=buildOptions)
完整代码-
from cx_Freeze import setup, Executable
# To compile for windows use---> python setup.py bdist_msi
# To compile for mac use---> python setup.py bdist_dmg
buildOptions = dict(
packages=['scrollFrame', 'searchSetup', "tkinter", "threading", "sqlite3", "openpyxl", "re"],
include_msvcr=True,
excludes=['numpy', 'scipy', 'matplotlib', 'pandas', 'jinja2', 'flask']
)
import sys
base = 'Win32GUI' if sys.platform == 'win32' else None
executables = [
Executable('MedSort.py', base=base)
]
setup(name='MedSort',
version='2.0',
description='Medical Indent management',
options=dict(build_exe=buildOptions),
executables=executables)
你可以找到相同here的解决方案
【讨论】:
谢谢!对我来说,真正的改变是您提出的建议:python setup.py bdist_msi
,适用于 Windows 和 Mac:python setup.py bdist_dmg
。没想到和linux中的python setup.py build
不一样!以上是关于如何在 OSX 上使用 cx_Freeze 隐藏控制台的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 cx_Freeze 冻结双模式(GUI 和控制台)应用程序?
如何在 Windows 10 上使用 Cx_Freeze 制作 exe,包括 PyQt5 和 OpenCV
如何在使用 cx_Freeze 6.0b1 冻结的 Linux 上修复 python 3.7.3 脚本上的 numpy 依赖项路径?