我正在尝试使用Tkinter GUI在py2app上创建一个OS X Python3应用程序。我已经在我的机器上将Python升级到v3.6.0,并安装了正确版本的ActiveTcl (v8.5.18.0)。我可以很好地开发和运行应用程序,我可以创建一个别名版本,它运行得很好,但当我创建并尝试运行独立版本时,我收到一个错误,说找不到tk.tcl
。
我已经在互联网上搜寻过,并在网上找到了其他丢失文件的较旧的参考资料,但我找不到任何解决方案来解决我的问题。我知道我的tk.tcl文件在哪里,但我不知道如何告诉它在哪里查找它,而且我也不知道为什么它在一个非标准的地方。
有人能帮我吗?
下面是完整的错误消息:
Traceback (most recent call last):
File "/Users/Ste/Documents/Programming/rf-library/src/test/dist/test.app/Contents/Resources/__boot__.py", line 81, in <module>
_run()
File "/Users/Ste/Documents/Programming/rf-library/src/test/dist/test.app/Contents/Resources/__boot__.py", line 66, in _run
exec(compile(source, path, 'exec'), globals(), globals())
File "/Users/Ste/Documents/Programming/rf-library/src/test/dist/test.app/Contents/Resources/test.py", line 10, in <module>
gui = tk.Tk()
File "tkinter/__init__.pyc", line 2017, in __init__
_tkinter.TclError: Can't find a usable tk.tcl in the following directories:
/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/tk8.5
/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/tk8.5/Resources/Scripts
/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tk8.5
/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tk8.5/Resources/Scripts
/Users/Ste/Documents/Programming/rf-library/src/test/dist/test.app/Contents/lib/tk8.5
/Users/Ste/Documents/Programming/rf-library/src/test/dist/test.app/Contents/lib/tk8.5/Resources/Scripts
~/Library/Tcl/tk8.5 ~/Library/Tcl/tk8.5/Resources/Scripts /Library/Tcl/tk8.5
/Library/Tcl/tk8.5/Resources/Scripts
/System/Library/Tcl/tk8.5
/System/Library/Tcl/tk8.5/Resources/Scripts
~/Library/Frameworks/tk8.5
~/Library/Frameworks/tk8.5/Resources/Scripts
/Library/Frameworks/tk8.5
/Library/Frameworks/tk8.5/Resources/Scripts
/System/Library/Frameworks/tk8.5
/System/Library/Frameworks/tk8.5/Resources/Scripts
/Users/Ste/Documents/Programming/rf-library/src/test/dist/test.app/lib/tk8.5
/Users/Ste/Documents/Programming/rf-library/src/test/dist/test.app/Contents/library
This probably means that tk wasn't installed properly.
called Tcl_CreateHashEntry on deleted table
Abort trap: 6
发布于 2018-07-06 16:45:50
您使用的是什么版本的py2app?我也有同样的问题,但我能够通过降级到py2app 0.11
来解决它。我使用的是Python 3.5.2
(这里发布的https://www.python.org/download/releases/3.5.2/)和ActiveTcl 8.5.18.0
(https://www.activestate.com/activetcl/downloads)。它就像一种护身符。
如果您使用pip,只需在终端中执行以下操作:
$ pip3 uninstall py2app
$ pip3 install py2app==0.11
仅供参考,我最近升级了我的Python版本和一些东西(包括py2app
)。我的印象是Python是罪魁祸首。所以我尝试了Python 3.7.0、3.6.6和3.5.4。我一直在使用py2app 0.12
,没有想到问题可能出在py2app上。我还多次卸载并重新安装了ActiveTcl 8.5.18,我可以确认这不是问题所在。
https://stackoverflow.com/questions/44921613
复制相似问题