我尝试在Mac OS X Yosemite 10.10上使用cx_Freeze 4.3.1构建一个应用程序,但它没有用。我使用python版本2.7并使用Tkinter作为我的GUI进行开发。如果我在终端上使用python setup.py bdist_mac
,则构建过程将失败,并显示以下错误消息:
[Errno2] /Library/Frameworks/Tcl.framework/versions/8.5/TCL没有这样的文件或目录
已经安装了Tcl / Tk的最新版本(8.5)。
我的设置文件如下所示:
from cx_Freeze import setup, Executable
build_exe_options = {
"includes": [],
"packages": [],
'excludes' : ['collections.abc', 'urllib.sys'],
"include_files": []}
setup(
name = "application",
version = "0.1",
description = "",
author = "",
options = {"build_exe": build_exe_options},
executables = [Executable("applicaton.py")]
)
有谁知道我能做些什么才能让它发挥作用?提前谢谢!
答案 0 :(得分:0)
我建议你在这里做一些事情(希望解决我能识别的两个问题):
首先让我们修复你的Python安装!建议的方法是使用Homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew update
brew install python
现在你应该在/usr/local
中安装一个与Mac OS X系统Python分开的Python,这样你就可以保持干净和分离。您还应该遵循上述安装中的任何建议说明。通常,这涉及修改$PATH
:
export PATH="/usr/local/bin:$PATH"
注意:通常您应该修改$HOME/.bashrc
或$HOME/.profile
,具体取决于您配置终端的方式。
您现在也可以使用pip
表单/usr/local/bin/pip
。
现在可以更好地替换cx_freeze - 目前推荐且更加维护的方法是使用pyInstaller:
pip install pyinstaller
pyinstaller -F /path/to/my/script.py
对于更复杂的要求和构建,请遵循Using sepc files
上的pyinstaller文档 祝你好运!注意:此应该也可以解决您的TCL / TK问题!