【问题标题】:error: [Errno 2] No such file or directory: '/Library/Frameworks/Tcl.framework/Versions/8.5/Tcl'错误:[Errno 2] 没有这样的文件或目录:'/Library/Frameworks/Tcl.framework/Versions/8.5/Tcl'
【发布时间】:2017-12-06 11:30:10
【问题描述】:

当我从终端运行它时,我在我的 mac 上制作了一个运行良好的 tkinter 应用程序。现在,我想制作它的可执行版本,但在 python setup.py build 之后我收到此错误消息:

error: [Errno 2] No such file or directory: '/Library/Frameworks/Tcl.framework/Versions/8.5/Tcl'

setup.py:

import cx_Freeze, sys
import os
import os
os.environ['TCL_LIBRARY'] = "/System/Library/tcl/8.4"
base = None

if sys.platform == 'Win32':
base = "Win32GUI"

executables = [cx_Freeze.Executable("multiframe.py", base=base)]

cx_Freeze.setup(
    name="cu",
    options = {"build_exe": {"packages":["tkinter"]}},
    version= "0.01",
    description = "dasdasd",
    executables = executables
    )

我知道 tcl 导入有问题,但我在 windows 上的 Python3.6 文件夹中有 tcl,但在 mac 中没有

【问题讨论】:

  • 所以你在 Windows 上运行 Py3 而在 Mac 上运行 Py2?

标签: python macos tkinter cx-freeze


【解决方案1】:

在您的 options 语句中,您告诉系统导入“tkinter”包。 “tkinter”代表 Python 3。“Tkinter”代表 Python 2。如果您在 Mac 上运行 Python 2,则需要使用“Tkinter”而不是“tkinter”作为包。当然,您需要确保您的“cu”应用在 Python 2 上运行。

还有一行

os.environ['TCL_LIBRARY'] = "/System/Library/tcl/8.4"

指向旧版本的 Tcl。可能没关系。但是后来的 Python 2.7 和 Python 3 都带有 8.5。您可能应该将您的 Mac 升级到 Python 3 以与您的 Windows 机器相同,以便您的代码将在这两个地方运行。否则,您可能需要对代码稍作调整才能在两者上运行相同的代码。

【讨论】:

    猜你喜欢
    • 2017-11-16
    • 2020-05-01
    • 2019-12-12
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多