导入错误:没有命名 '_tkinter',请安装 python3-tk 包

Max*_*dad 42 python3

我是 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()
    
    Run Code Online (Sandbox Code Playgroud)
  3. 结果:GUI 弹出窗口显示 This is a Tcl/Tk version..

Eld*_*eek 43

sudo apt-get install python3-tk安装tkinterPython3.xx

资料来源:

/sf/ask/425909151/ https://pythonprogramming.net/python-3-tkinter-basics-tutorial/

  • 注意——对于 python3.6,其中 python3.5 是我的默认值,我必须使用 ...install python3.6-tk .... (10认同)

Ste*_*veJ 31

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

sudo apt-get install python3.6-tk
Run Code Online (Sandbox Code Playgroud)

我在 ubuntu 中的默认 python 是 3.5,所以当使用 venv 3.6 时,我会收到导入错误。让我疯狂了一段时间。

[编辑:随着这个问题的老化]

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

sudo apt install python3.x-tk
Run Code Online (Sandbox Code Playgroud)

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

[编辑]

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

sudo add-apt-repository ppa:deadsnakes/ppa
Run Code Online (Sandbox Code Playgroud)

  • 最后!当`sudo apt-get install python3-tk`没有时,这对我有用。谢谢 (3认同)
  • 对于 python 3.7,我必须使用 `sudo apt-get install python3.7-tk` 使其工作 (2认同)

Max*_*dad 0

从源代码安装时这可能会很有趣(大多数 python 用户不会):

安装tcl 和 tk后。

返回到您的 Python 版本,执行make. 并且,如果存在多个版本python,则执行make altinstall.

  1. 打开Python3.5
  2. 类型:

    import tkinter
    tkinter._test()
    
    Run Code Online (Sandbox Code Playgroud)
  3. 结果正常 - 弹出 GUI 打开并按预期工作。

  • -1 这与大多数人无关,因为大多数人将通过包管理器安装而不是从源代码安装。 (2认同)