В работе на виртуальной машине для VB (OS Red Hat Enterprise Linux Server release 7.3) понадобилось использовать графическую оболочку python idle3.7
Виртуальная машина шла сразу с установленным Python3.7, но при запуске idle3.7 возникала ошибка вида:
Для сборки tkinter необходимо поставить две библиотеки tcl и tk. Для Python3.7 необходимы версии 8.6 и выше. Информация здесь. Установка стандартная, для команды configure не заполнял значение options, чтобы все по умолчанию поставилось. Действия выполнить для tcl и tk.
Виртуальная машина шла сразу с установленным Python3.7, но при запуске idle3.7 возникала ошибка вида:
IDLE can't import Tkinter. Your Python may not be configured for Tk.Сразу скажу, что множество советов из Интернета на решения данной проблемы путем установки модулей ниже не работают.
# yum search tkinter # yum install python3-tkinter-3.3.2-17.fc20.x86_64 # yum search tk-devel # yum install tk-devel.x86_64 и т.п.Потому, что python нужно пересобрать с tkintel используя исходники. Прочитал об этом еле заметной строчкой на stackoverflow, где дали совет что все эти модули ставить нет смысла.
Для сборки tkinter необходимо поставить две библиотеки tcl и tk. Для Python3.7 необходимы версии 8.6 и выше. Информация здесь. Установка стандартная, для команды configure не заполнял значение options, чтобы все по умолчанию поставилось. Действия выполнить для tcl и tk.
# cd tcl8.6.8/unix # ./configure options # make # make test # make installКачаем Python (примеры для версии 3.7.1rc1)
# tar -xzf Python-3.7.1rc1.tgz # cd Python-3.7.1rc1.tgz и т.п.Установка Python, в первую очередь нужно сделать конфигурацию, чтобы при сборке подтянулись установленные библиотеки tcl и tk.
# ./configure --with-tcltk-includes="-I/usr/include" --with-tcltk-libs="-L/usr/local/lib -ltcl8.6 -L/usr/local/lib -ltk8.6" # make *** WARNING: renaming "_tkinter" since importing it failed: libtcl8.6.so: cannot open shared object file: No such file or directoryПроблема решается тем, что необходимо указать путь до /usr/local/lib/ (где установлены tcl и tk) в переменной LD_LIBRARY_PATH. Затем собрать и установить Python.
# export LD_LIBRARY_PATH=/usr/local/lib/ # make # make installТеперь Idle запускается.