2015-02-13 3 views
0

Спасибо за вашу помощь заранее Я застрял почти неделю!tkinter не импортируется с терминала, но работает в Python 3 shell на Raspberry Pi

Я пытаюсь использовать Tkinter на моем Pi и нижеследующее работает нормально при запуске в приложении питона (оболочки):

import tkinter 
tk = tkinter.Tk() 
window = tkinter.Tk() 
tk.mainloop 

Однако, когда я вхожу в команду:

python /home/pi/myfiles/windowtest.py 

в терминал, я получаю

ImportError: No module named tkinter 

до сих пор я пытался Sudo APT-получить установку Tkinter, то же самое с обновлениями, де v, tk, -f, python-tkinter и любые другие, о которых я мог думать. Фактически sudo apt-get install tkinter не может найти пакет и тот же номер с python-tkinter.

sudo apt-get install python-tk говорит, что это уже самая новая версия.

Im, используя новейший NOOBS, установил его около 10 дней назад.

Фон - Я хочу запустить немного скрипта python, запущенного crontab, который использует mplayer, на данный момент все mplay-сообщения вытесняют мое меню с экрана в режиме терминала, и я не вижу его. Я надеялся, что tkinter откроет окно, в которое я могу поместить свое меню и посмотреть его.

+0

Вы используете Python 2 или 3? –

+0

Raspberry PI, Python 3, хотя у меня тоже установлен Python 2, который я мог бы попробовать использовать. – Ross

ответ

2

Проблема заключается в том, что модуль называется Tkinter в Python 2 и tkinter в Python 3. В Debian, Raspbian, Ubuntu и так далее, python в командной строке начинается Python 2.x (обычно 2,7 сейчас), тогда как python3 является необходимо запустить интерпретатор Python 3.x.

Поскольку это новый проект, который я думаю, вы должны использовать только Python 3 (и вы написали код для Python 3), таким образом, выполнить команду с python3:

python3 /home/pi/myfiles/windowtest.py 

% python 
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tkinter 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named tkinter 
>>> import Tkinter 
>>> 

против

% python3 
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tkinter 
>>> 
+0

Спасибо за ответ, однако я не использую ПК. Все, что я пытаюсь сделать, это PI. Я использую Python 3 на PI, пожалуйста, продолжайте помогать! – Ross

+0

Большое вам спасибо, это был простой ответ, который я искал и использовал слишком много своей мозговой силы. Сегодня я могу спать спокойно. Затем мне нужно понять, как заставить crontab запускать его, чтобы я мог видеть окна. – Ross

+0

Обратите внимание, что если вы используете crontab, вам нужно явно установить переменную окружения DISPLAY =: 0, чтобы он знал, на каком дисплее запускаться ... и если вы считаете, что я решил вашу проблему, тогда, пожалуйста, отметьте мой ответ как принятый , –

0

Запуск сценария с:

python3 main.py