python3 tkinter ubuntu trusty在虚拟环境下不起作用

时间:2016-01-20 02:13:49

标签: python-3.x ubuntu tkinter docker

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

<jaxb:globalBindings collectionType ="indexed">

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

> 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
>>> 

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

3 个答案:

答案 0 :(得分:15)

因此,从错误消息中,错过了python3-tk包。

  

引发ImportError(str(msg)+',请安装python3-tk包')   ImportError:没有名为'_tkinter'的模块,请安装python3-tk软件包

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

sudo apt-get install python3-tk

答案 1 :(得分:6)

我遇到了同样的问题。用户宝马提供的答案对我不起作用。没有必要重新创建virtualenv目录,就像user1256124建议的那样,尽管这也是一个非常可行的解决方案。

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

sudo apt-get install python3.6-tk

这允许已经设置的virtualenv找到合适的库。

答案 2 :(得分:3)

我明白了。 发生的事情是,一旦创建了python3 virtualenv,就不再需要从python3 apt-get安装继承。 一旦我从更新的Dockerfile重新创建了图像,在创建python3 virtualenv之前将其指定为apt-get install python3-tk,那么一切正常。 不知道为什么会这样。