2016-09-21 7 views
0

У меня возникли проблемы с запуском matplotlib.pyplot и tkinter с помощью python3.5. Я на Ubuntu 12.04.5 LTS. Я вижу, что python3-tk установлен, когда я набираю dpkg -l python3-tk. Как еще я должен устранить неполадки?Ошибка импорта с Tkinter и python3.5

Является ли python3-tk только для python3.2, а не python3.5?

Примеры ниже со python3.2 против python3.5

machine:~$ /usr/bin/python3 
Python 3.2.3 (default, Jun 18 2015, 21:46:58) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tkinter 
>>> exit() 

machine:~$ /usr/bin/python3.5 
Python 3.5.2 (default, Jul 17 2016, 17:38:18) 
[GCC 4.6.3] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tkinter 
Traceback (most recent call last): 
    File "/usr/lib/python3.5/tkinter/__init__.py", line 36, 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.5/tkinter/__init__.py", line 38, in <module> 
    raise ImportError(str(msg) + ', please install the python3-tk package') 
ImportError: No module named '_tkinter', please install the python3-tk package 

python3-тк установлена ​​были установлены

machine:~$ dpkg -l python3-tk 
Desired=Unknown/Install/Remove/Purge/Hold 
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend 
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) 
||/ Name       Version      Description 
    +++-============================-============================- 

======================================================================== 
ii python3-tk     3.2.3-1      Tkinter - Writing Tk applications with Python 3.x 
+0

Я подозреваю, что _tkinter.so, скомпилированный из _tkinter.c, находится где-то в/usr/bin/python3 и что он также должен находиться в соответствующем месте в /usr/bin/python3.5. Нужно ли перекомпилировать для 3.5 (как в случае с Windows) или просто скопировать, я не знаю. –

ответ

0

библиотеки python3-TK по версии 3.2, а не 3.5. Python3-тк был удален и python3.5-тк был установлен вместо

1
sudo apt-get install python3-tk 

Эта команда установит Tkinter для умолчанию Python3 только, так python3.5 ImportError.

Вы можете выполнить следующую команду, чтобы установить для python3.5

sudo apt-get install python3.5-tk 
0

Измените Matplotlib бэкенд на «AGG» или какой-то другой вариант неинтерактивного. Что-то вроде следующего:

matplotlib.use ('') AGG

More info here (в контексте Докер, где я столкнулся этот вопрос и успешно решить ее):