【问题标题】:Python not configured for Tk没有为 Tk 配置 Python
【发布时间】:2014-04-28 07:22:35
【问题描述】:

我正在使用 pyenv 使用 Ubuntu 13.10 和 Python 3.3.4。我使用其他模块没有问题。当我进入 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

【问题讨论】:

  • /usr/bin/python3 -c'import tkinter' 成功了吗?
  • 是的,它有效,但 pyenv 安装了多个版本。您可以使用单个命令更改活动的 python 版本。它安装在 ~/.pyenv/versions 下。 ~/.pyenv/versions/3.3.4/bin/python3 -c'import tkinter' 没用。
  • 如果它与 /usr/bin/python3 一起工作,然后尝试重新创建环境
  • @J.F.Sebastian JFI: pyenv 与常规 virtualenvs 不同。
  • 如果您使用 pyenv 进行 Python 环境管理并希望 IDLE 工作,请参阅分步指南 stackoverflow.com/questions/61870688/…

标签: python python-3.x tkinter


【解决方案1】:

对于 Mac 用户,

  1. 完全卸载pyenv:brew uninstall pyenv &amp;&amp; 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"

那么你就设置好了!更多详情请查看thisgithub gist。

【讨论】:

    【解决方案2】:

    这是针对 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 现在应该可以工作了

    【讨论】:

    • 没错。我刚刚为可能需要的人发布了分步指南-stackoverflow.com/questions/61870688/…
    • 实际上解决了我的问题的是:brew install python-tk 而不是 tcl... 的事情。
    • 感谢@JohnnyJS,您的解决方案对我有用。顺便说一句,我在 python-3.9
    • @JohnnyJS 同样在这里,你的小费做到了。谢谢
    【解决方案3】:

    您需要在pyenv install 期间提供 Tk 开发文件/头文件。

    在 Ubuntu (15.04) 上应提供以下内容:sudo apt-get install tk-dev

    在此之后,pyenv install 3.4.3(或pyenv install 2.7.10 等)应该接受它并支持 Tk。

    (Reference issue in pyenv)

    【讨论】:

    • 这可能应该放在 pyenv 常见问题解答中
    • 我刚刚将它添加到 common-build-problems wiki 页面的要求中
    • 对于 Red Hat / Amazon Linux,这是:sudo yum install tkinter
    • 我在 MacOS 上遇到了同样的问题。有人有想法吗?
    • 这是我的问题。我仍在尝试在不创建新环境的情况下让它工作
    猜你喜欢
    • 2011-07-24
    • 2017-09-20
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 2021-03-29
    • 2021-11-03
    相关资源
    最近更新 更多