ImportError:没有名为“_tkinter”,请安装 python3-tk 包

ImportError:没有名为“_tkinter”,请安装 python3-tk 包

我对 Ubuntu 和 Linux 总体来说还很陌生。

我在我的笔记本电脑上创建了双启动操作系统(Windows 10 和 Ubuntu)。

  • 打字:(sudo apt-get install python3-tk甚至python-tk)不起作用。
  • 尝试安装python3-devpython-devel(没有成功)。
  • 下载 Tcl 和 Tk 进行手动安装。

Windows 10 Bash 子系统中已经包含了 Tk 和 Tcl,所以我认为 Ubuntu 已经有了。但是,我想使用我的 Ubuntu 桌面来开发 Python GUI 应用程序。

那么,如何安装 Tcl/Tk 以便在 Python 3.5 中进行 GUI 开发?

我可以正常加载 Python 3.5.2,但需要启用 GUI 模块。

测试 Tk 是否正常工作的代码是:

  1. 类型python3
  2. 类型:

    import tkinter   
    tkinter._test()
    
  3. 结果:GUI 弹出窗口显示This is a Tcl/Tk version..

答案1

答案2

对于以 Python 3.5 作为“系统”python(Ubuntu)的 Python 3.6 虚拟环境,我必须安装 tk 3.6 来匹配;

sudo apt-get install python3.6-tk

我在 ubuntu 中默认的 Python 是 3.5,因此当使用 3.6 的 venv 时,会出现导入错误。这让我抓狂了一段时间。

[编辑:随着这个问题的不断深入]

一般来说,如果一个人在虚拟环境中使用的 Python 版本与基础机器的版本不同,那么就必须为虚拟环境中使用的 Python 版本安装 tk。

sudo apt install python3.x-tk

其中 3.x 将与虚拟环境的版本匹配。

[编辑]

可能需要添加 tk 的存储库。根据我的经验,它是我从中提取 python3.6 的同一个存储库,但这可能会随着时间的推移而改变;

sudo add-apt-repository ppa:deadsnakes/ppa

答案3

就我而言,我得到了同样的错误“ImportError:没有名为‘_tkinter’的模块”对于 python3.5,尽管做了以下事情: - 安装 python3-tk 和 tkinter-dev - Tkinter 目录在 /usr/lib/python3.5 中可用。

观察到的错误来自以下文件:

文件“/usr/local/lib/python3.5/tkinter/在里面.py”,第 35 行,导入 _tkinter # 如果失败,你的 Python 可能没有配置为 Tk

但是,当我简单地从 /usr/bin 运行 python 时/usr/bin/python3.5从终端,它对我有用!

简而言之,只需确保从终端运行的 python 版本已安装并配置了 tkinter:)

我的系统上安装了 Ubuntu16.04,它默认带有 python2.7 和 python3.5

答案4

仅安装库文件可能不起作用,因为您想使用库本身而不是开发它。

这对我有用:

$ sudo apt install tk8.6-dev

相关内容