Python未配置Tk

25 投票
3 回答
32073 浏览
提问于 2025-04-17 23:14

我在使用Ubuntu 13.10和Python 3.3.4,使用的是pyenv。我用其他模块没有问题。当我进入Python控制台并输入

import tkinter

它输出

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/serdar/.pyenv/versions/3.3.4/lib/python3.3/tkinter/__init__.py", line 40, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'

我已经安装了python3-tktk-devel

3 个回答

4

对于Mac用户,

  1. 完全卸载pyenv:在终端输入 brew uninstall pyenv && rm -rf ~/.pyenv
  2. 安装zlib、tcl-tk和pyenv。
brew update
brew install zlib
brew install tcl-tk #otherwise we may have problems with tf package
brew install pyenv
  1. 让编译器找到zlib。把这段内容添加到你的 ~/.bashrc 或 ~/.zshrc 文件中(如果你使用oh-my-zsh的话)。
# For compilers to find zlib you may need to set:
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"

# For pkg-config to find zlib you may need to set:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"

这样你就设置好了!想了解更多细节,可以查看 这个 GitHub的链接。

18

这是一个针对Mac用户的指南,

  1. 首先,卸载你当前的Python版本。比如说:pyenv uninstall 3.7.2
  2. 接下来,安装TK:brew install tcl-tk
  3. 然后,按照安装后的步骤来配置TK:
export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"
export PATH=$PATH:/usr/local/opt/tcl-tk/bin
  1. 重新加载你的终端会话,确保之前的所有设置都正确
  2. 最后,安装Python:pyenv install 3.7.2

现在TK应该可以正常工作了

39

在使用 pyenv install 安装时,你需要确保有 Tk 的开发文件和头文件可用。

如果你在使用 Ubuntu(15.04),可以通过以下命令来安装这些文件: sudo apt-get install tk-dev

安装完成后,运行 pyenv install 3.4.3(或者 pyenv install 2.7.10 等等)就能识别到这些文件,并支持 Tk 了。

(这是 pyenv 中的相关问题)

撰写回答