用pyenv安装Python 3后无法导入tkinter

时间:2014-10-14 09:43:53

标签: python

在使用tkinter安装Python版本3.4.2后导入pyenv时出现问题。我的系统Python是2.7.6版。我正在使用Ubuntu 14.04。对于以下示例脚本t.py

import _tkinter

print ("Hello")

我明白了:

$ pyenv global system
$ python --version
Python 2.7.6
$ python t.py
Hello
$ pyenv global 3.4.2
$ python --version
Python 3.4.2
$ python t.py
Traceback (most recent call last):
  File "t.py", line 3, in <module>
    import _tkinter
ImportError: No module named '_tkinter'
    Traceback (most recent call last):
      File "t.py", line 3, in <module>
        import _tkinter
    ImportError: No module named '_tkinter'

请注意pyenv~/.pyenv/versions/3.4.2/中安装了Python版本3.4.2。

3 个答案:

答案 0 :(得分:13)

现在使用此post中描述的方法似乎可以解决此问题:

  • 首先卸载Python 3.4.2:pyenv uninstall 3.4.2,然后
  • 运行sudo apt-get install tk-dev
  • 并重新安装Python 3.4.2:pyenv install 3.4.2

答案 1 :(得分:0)

将您的代码更改为:

import tkinter

文档link

  

大多数情况下,tkinter是您真正需要的,但也可以使用其他一些模块。 Tk接口位于名为_tkinter的二进制模块中。该模块包含Tk的低级接口,绝不应由应用程序员直接使用。它通常是一个共享库(或DLL),但在某些情况下可能与Python解释器静态链接。

答案 2 :(得分:0)

对于MacOS,您可以尝试通过自制软件安装tcl-tk,然后激活环境。 vars。 this answer中有详细说明。