python - 找不到 tkSnack.py

标签 python python-2.7 tkinter tcl

我在我的 Mac 上使用 python2.7、tk 8.6.7 和 snack 0.0.3 设置了我的 conda env,但我仍然无法执行

import Tkinter
root = Tkinter.Tk()
import tkSnack

它说

ImportError: No module named tkSnack

locate tkSnack 什么都不返回。
locate snack 返回:

/System/Library/Tcl/8.4/snack2.2
/System/Library/Tcl/8.4/snack2.2/libsnack2.2.dylib
/System/Library/Tcl/8.4/snack2.2/pkgIndex.tcl
/System/Library/Tcl/8.4/snack2.2/snack.tcl

有趣的是,Tcl/8.4 和 8.5 都有,但我的环境中的 tk 是 8.6.7。这是麻烦的征兆吗?

我的问题是什么?

最佳答案

tkSnack 是 Kare Sjolander 的 Snack Tcl 扩展的接口(interface)。您可以在 Download page 找到代码.

安装 tcltk snack 的方法是使用 apt:

sudo apt-get install python-tksnack

注意:这会将二进制文件安装在默认计算机路径中,conda 可能无法检测到它们。

文件 tkSnack.py 包含在存储库源代码中,lastest version ,在 python 库中。如果您使用的是 conda,则有 2 种安装 python 文件的方法,1º 您必须将 tkSnack.py 放在 ${your_env_folder}/lib/python2.7/site-packages/ 中。要知道基本路径在哪里,请使用 conda info --env。或者,直接在 python 路径中使用命令 python setup.py install

如果你使用 conda 有问题,尝试在 conda 环境中安装或直接移动它们:cp/usr/lib/tcltk/snack2.2/* ${your_env_folder}/lib/

这不是一个简单的方法,但是很有效。如果您想了解更多信息,请查看 official documentation

关于python - 找不到 tkSnack.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51203301/

相关文章:

python - 通过将列表索引视为python中的键,将dict中的所有列表转换为dict

python - 如何在运行循环/函数时阻止 GUI 卡住?

Mac OS X 10.9 上的 Python3、lxml 和 "Symbol not found: _lzma_auto_decoder"

python - numpy 数组中的索引混淆

python - 在 Bokeh 中链接两个散点图

python ,Tkinter : How to get the handle of all canvas objects using their IDs or tags?

python - Tkinter 导入时出错

python - 将分类值的行放入 pandas 的列中

python - 我们如何合并两个数据框而不丢失Python中的任何行

python更新列表中的字典值