【问题标题】:python3 tkinter ubuntu trusty does not work under virtual environmentpython3 tkinter ubuntu trusty 在虚拟环境下不起作用
【发布时间】:2016-01-20 02:13:48
【问题描述】:

我在一个 ubuntu 可信赖的 docker 容器上安装了 python3-tk。(apt-get install python3-tk)

> python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> import tkinter as tk
>>> 

到目前为止一切顺利。但是,由于不同的原因,我需要在同一个容器中运行加载的 python3 virtualenv。 当我激活虚拟环境时:

(env_py34)root@8a7953c24d4f:/home# python
Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter as tk
Traceback (most recent call last):
  File "/usr/lib/python3.4/tkinter/__init__.py", line 39, in <module>
    import _tkinter
ImportError: No module named '_tkinter'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.4/tkinter/__init__.py", line 41, in <module>
    raise ImportError(str(msg) + ', please install the python3-tk package')
ImportError: No module named '_tkinter', please install the python3-tk package
>>> 

python 的版本是相同的。 为什么虚拟环境没有从python3安装继承python3-tk?如何在虚拟环境中安装 python3-tk?

【问题讨论】:

    标签: python-3.x ubuntu tkinter docker


    【解决方案1】:

    所以从错误信息来看,python3-tk 包丢失了。

    raise ImportError(str(msg) + ',请安装python3-tk包') ImportError: No module named '_tkinter', please install the python3-tk package

    您是否尝试安装它?例如,在 ubuntu 中

    sudo apt-get install python3-tk
    

    【讨论】:

    • 这是正确的答案,尽管@user1256124 添加了有价值的信息。
    • sudo apt-get install python3.6-tk 适用于 python 3.6。
    【解决方案2】:

    我遇到了同样的问题。用户 BMW 提供的答案对我不起作用。无需像 user1256124 建议的那样重新创建 virtualenv 目录,尽管这也是一个完美可行的解决方案。

    只需使用特定于您需要的 python 版本的绑定。对于python3.6,这个命令是:

    sudo apt-get install python3.6-tk

    这允许已经设置的 virtualenv 找到正确的库。

    【讨论】:

      【解决方案3】:

      我想通了。 发生的事情是,一旦创建了 python3 virtualenv,就不再需要从 python3 apt-get 安装进行继承。 一旦我从更新的 Dockerfile 重新创建了图像,在创建 python3 virtualenv 之前,它被指定为 apt-get install python3-tk,然后一切正常。 不过不知道为什么会这样。

      【讨论】:

        猜你喜欢
        • 2020-09-05
        • 1970-01-01
        • 2020-11-05
        • 2018-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-10
        • 2017-06-15
        相关资源
        最近更新 更多