找不到与tkinter匹配的发行版

28

自从两天前起,我一直被这个问题困扰,我已经在Stack和Github上尝试了所有可能的解决方案。如果有人能够提出建议,那将非常棒。

我正在CentOS Linux 7.3.1611的虚拟环境中使用Python 2.7。

我正在运行一个使用matplotlib.pyplot的脚本,在运行时出现了这个错误。

import  matplotlib.pyplot as plt
 File "/usr/local/packages/Python-2.7/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter 

我尝试使用以下方式安装 tkinter -

 pip install tkinter and it gave this error 
Could not find a version that satisfies the requirement tkinter (from versions: )
No matching distribution found for tkinter

然后我甚至安装了 -

sudo yum install tk
sudo yum install tk-devel
sudo yum install tc 

它指出包已安装,无需执行任何操作。

我重新设置了虚拟环境以查看是否有遗漏,但是还是无法解决问题。请帮忙!


1
在最新的Ubuntu上,我必须使用apt-get(类似于yum)安装python-tkintertktcltkinter所使用,但它们不会在python中安装tkinter - furas
也许可以检查 yum 是否有 search/find 命令,并尝试查找 tkinter(而不是 tk)。 - furas
它告诉我 tk-8.5.13-6.el7.x86_64 已经安装,并且在 yum 搜索 tkinter 时返回以下内容 - python2-tktable.x86_64:Python 2.x 的 TkTable 包装器与 Tkinter python34-tkinter.x86_64:Python 3 的 GUI 工具包 tkinter.x86_64:Python 脚本语言的图形用户界面 - AnkP
1
tk/tcl 不是 tkintertkinter 是一个包装器,需要语言 tk/tcl 才能工作,但 tk/tcl 不需要 tkinter 运行(因此它不会将 tkinter 添加到 Python 中)。 - furas
尝试使用 sudo yum reinstall tkinter - acw1668
显示剩余3条评论
7个回答

42

试试这个

sudo apt-get install python3-tk

这对我起作用了


2
我需要使用sudo apt-get install python3.6-tk。 - Yuri Feldman
1
为什么这个模块不能与pip一起使用? - yamanidev
这个评论帮助我解决了问题,谢谢! - emboole
@yamanidev,这不是Python包。它会重新配置系统,以确保Tcl/Tk(纯C代码可用于其他上下文)已安装并可从Python访问,并在正确的位置安装_tkinter模块。此外,由于它修改了系统Python,因此可能已经有意禁用了Pip - Karl Knechtel

1

对于仍然遇到此问题的人,尝试更改Python项目解释器。Tkinter应该默认包含在内,但是您的发行版可能没有包含它。请始终从官方网站下载最新的基础解释器。


1
尝试使用apt-get install python-tk

1

我有同样的问题:在CentOS和RedHat上安装Python 2.x时需要执行yum install tkinter


0

我遇到了和你一样的错误,我尝试安装依赖项、tk/tcl,但都没有解决。最终我使用以下方法解决了问题:

sudo apt-get update
sudo apt-get install python-tk

在Ubuntu 16.04上


0
sudo yum install python-tools -y

这对我在亚马逊Linux 2上起作用。


-2

如果我进入Python提示符并使用import Tkinter,我会得到以下错误信息:File "/usr/local/packages/Python-2.7/lib/python2.7/lib-tk/Tkinter.py",第39行,在<module>中导入_tkinter # 如果失败,则可能未为Tk配置Python ImportError: No module named _tkinter。 - AnkP
我的虚拟环境中Python的路径是/home//CVD_venv/lib/python2.7/,而不是/usr/local/packages/Python-2.7/lib/python2.7/,所以Python仍然在根/中央位置查找此模块? - AnkP
你可能已经尝试过了,但是在这个页面上https://dev59.com/VloV5IYBdhLWcg3wY976 - Edward Park
1
在CentOS 6.5上,使用Python 2.7,我需要执行以下操作:yum install python27-tkinter。 - Edward Park
是的,我之前尝试过这个 - 它给了我这个消息 没有可用的 python27-tkinter 包。 错误:无事可做 - AnkP
我执行了 sudo apt-get install python27-tkinter 命令,但是出现了 E: Unable to locate package python27-tkinter 的错误提示。也许你需要通过 sudo apt-get install python3-tk 命令来安装它。我尝试了这个方法,成功了。在 Python 2.7 中,你可以使用 import Tkinter 来调用。 - Soheil Paper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接