2017-02-09 2 views
2

При попытке импортировать Matplotlib на системе RHEL Fedora, я получаю эту ошибку:Нет пакета Tkinter доступны

Traceback (most recent call last): 
    File "generate_example_images.py", line 9, in <module> 
    import matplotlib.pyplot as plt 
    File "/usr/local/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module> 
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() 
    File "/usr/local/lib64/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup 
    globals(),locals(),[backend_name],0) 
    File "/usr/local/lib64/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 6, in <module> 
    from six.moves import tkinter as Tk 
    File "/usr/lib/python2.7/dist-packages/six.py", line 194, in load_module 
    mod = mod._resolve() 
    File "/usr/lib/python2.7/dist-packages/six.py", line 108, in _resolve 
    return _import_module(self.mod) 
    File "/usr/lib/python2.7/dist-packages/six.py", line 79, in _import_module 
    __import__(name) 
ImportError: No module named Tkinter 

Другой вопрос в https://tkinter.unpythonic.net/wiki/How_to_install_Tkinter говорит, что я могу использовать следующее:

yum install tkinter 

Это должно установите пакет tkinter для python 2 и python3, однако я получаю сообщение об ошибке

Loaded plugins: priorities, update-motd, upgrade-helper 
amzn-main/latest         | 2.1 kB  00:00  
amzn-updates/latest        | 2.3 kB  00:00  
No package tkinter available. 
Error: Nothing to do 

, когда я смотрю на пакеты yum, я также не вижу пакет tkinter, поэтому имеет смысл, я получаю эту ошибку.

+0

Какую версию python вы используете? –

+0

Я использую python 2.7.12 – pongoS

ответ

1

В Python 2.7 имя пакета Tkinter равно Tkinter вместо Python 3 tkinter. Когда я смотрю на вашу ошибку, кажется, что ваш matplotlib - это скрипт Python 3.

Если вы написали matplotlib/usr/local/lib64/python2.7/site-packages/matplotlib/backends/backend_tkagg.py) самостоятельно (и это написано на Python 2.7), изменение линии 6 из

from six.moves import tkinter as Tk 

в

from six.moves import Tkinter as Tk 

или более версия для печати:

try: 
    from six.moves import tkinter as Tk 
    # print('Python 3') 
except ImportError e: 
    from six.moves import Tkinter as Tk 
    # print 'Python 2.7' 

Если вы еще не написали matplotlib yourse lf, найдите другую установку (er) для Python 2.7. Если это не сработает, используйте исправление выше и сообщите об этом, связавшись с администратором matplotlib.

+0

Я решил это, проигнорировав проблему и перезапустив все это с помощью python 3. – pongoS

Смежные вопросы