我正在尝试学习如何在Sandwich.app教程(1)之后使用py2app。我使用的是从MacPorts安装的python2.7.11以及从MacPorts安装的py2app 0.9.1。
正在运行python setup.py py2app
会生成一个似乎有用的应用包。但是,如果我"删除"我的/ opt / local目录(sudo mv /opt/local /opt/local-save
),我发现应用程序依赖于我的MacPorts中的文件安装,特别是Tkinter.pyc尝试在软件包之外找到tcl8.6:
6/5/16 9:08:02.561 AM Sandwich [79618]:File" /Users/gbarnes/bin/sandwichApp/Sandwich.app/Contents/Resources/ boot 。 py",第351行,
6/5/16 9:08:02.561 AM Sandwich [79618]:_ run()
6/5/16 9:08:02.561 AM Sandwich [79618]:File" /Users/gbarnes/bin/sandwichApp/Sandwich.app/Contents/Resources/ boot 。 py",第336行,在_run
6/5/16 9:08:02.561 AM Sandwich [79618]:exec(compile(source,path,' exec'),globals(),globals())
6/5/16 9:08:02.561 AM Sandwich [79618]:File" /Users/gbarnes/bin/sandwichApp/Sandwich.app/Contents/Resources/Sandwich.py" ;,第8行,在
6/5/16 9:08:02.561 AM Sandwich [79618]:root = tk.Tk()
6/5/16 9:08:02.561 AM Sandwich [79618]:文件" Tkinter.pyc",第1814行, init
6/5/16 9:08:02.561 AM Sandwich [79618]:_ tkinter.TclError:无法在以下目录中找到可用的init.tcl:
6/5/16 9:08:02.561 AM Sandwich [79618]:/ opt / local / lib / tcl8.6 /Users/gbarnes/bin/sandwichApp/Sandwich.app/Contents/lib/tcl8.6 / Users / gbarnes / bin / sandwichApp / Sandwich.app / lib / tcl8.6 /Users/gbarnes/bin/sandwichApp/Sandwich.app/Contents/library/Users/gbarnes/bin/sandwichApp/Sandwich.app/library/Users/ gbarnes / bin / sandwichApp / Sandwich.app / tcl8.6.4 / library /Users/gbarnes/bin/sandwichApp/tcl8.6.4/library
6/5/16 9:08:02.562 AM Sandwich [79618]:这可能意味着Tcl没有正确安装。
只需将/opt/local/lib/tcl8.6复制到"以下目录中的一个"导致其他问题(需要将tk8.6复制到同一位置,然后应用程序崩溃,看起来似乎是fontconfig错误)。
我觉得必须有一些我想念的简单内容,我们将非常感谢任何帮助/建议。