Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在Mac OS X Yosemite(10.10)上使用cx_Freeze构建独立应用程序_Python_Macos_Tkinter_Cx Freeze - Fatal编程技术网

Python 无法在Mac OS X Yosemite(10.10)上使用cx_Freeze构建独立应用程序

Python 无法在Mac OS X Yosemite(10.10)上使用cx_Freeze构建独立应用程序,python,macos,tkinter,cx-freeze,Python,Macos,Tkinter,Cx Freeze,我曾尝试在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)已经安装 我的安装文件如下所示:

我曾尝试在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")]
)

有人知道我能做些什么让它工作吗?提前谢谢

我建议您在这里做几件事(希望能解决两个问题):

  • 使用Mac OS X的系统Python(不推荐)
  • 使用旧的和未维护的
首先,让我们修复您的Python安装!建议的方法是使用:

现在,您应该在
/usr/local
中安装了一个与MacOSX系统Python分离的Python,这样您就可以保持整洁和独立。您还应该遵循上述安装中的任何建议说明。通常这涉及修改
$PATH

export PATH="/usr/local/bin:$PATH"
注意:通常,您应该根据终端的配置方式修改
$HOME/.bashrc
$HOME/.profile

您现在还应该有
pip
表单
/usr/local/bin/pip

现在,有一种更好的替代方法——目前推荐的、更易于维护的方法是:

对于更复杂的需求和构建,请遵循pyinstaller的文档

祝你好运


注意:这也将解决您的TCL/TK问题

我尝试使用您推荐的python安装修复程序,但如果我使用
brew安装python
,则会出现一条错误消息,上面说
在安装python之前,您必须“brew链接gdbm”
。所以,如果我尝试了这个,另一条消息说
无法将share/info/gdbm.info usr/local/share/info符号链接为不可写的
。然而,我只是继续你的建议,构建过程与pyInstaller一起工作!谢谢你。但是生成的文件是一个单元可执行文件,因此我无法打开应用程序。你能告诉我出了什么问题吗?是的,你可能必须清理你的
/usr/local
,并确保你的本地用户有写入权限。一般来说,我发现对
/usr/local
的内容进行核处理,并确保我对其具有写访问权限,效果很好:)通常没有东西会写入
/usr/local
——当然,除了自制:)
export PATH="/usr/local/bin:$PATH"
pip install pyinstaller
pyinstaller -F /path/to/my/script.py