настройте tkinter для python3.4.2

Я недавно встретил проблему при установке новейшего python3. X.
Установленный это с помощью Python-3.4.2.tar.xz пакет от python.org После, установка я пытался импортировать tkinter модуль, но не успешно выполнялся.

Вывод import tkinter был:

>>> import tkinter
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/local/lib/python3.4/tkinter/__init__.py", line 38, in 
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'

Я также попробовал следующие решения:

но ни один из них не помог.
При попытке этих решений, если замечено, который говорит ошибка:

import _tkinter # If this fails your Python may not be configured for Tk

затем я погуглил об этом и нашел это.
Читая Проверку Вашего раздела поддержки Tkinter, Step 1 отказавший и застрял в этой строке

Если Вы устанавливаете Tcl/Tk в местоположениях по умолчанию, просто повторное выполнение "делают", должен создать _tkinter расширение.

Относительно вышеупомянутой строки мой вопрос:
Где найти, что make-файл выполняет a make команда на?

И, как я настраиваю tkinter так, чтобы Python3.4.2 принял его?


Править:

Я забыл упоминать, но import tkinter сделайте работы для стандартной установки (Python 3.4.0) Python в Ubuntu 14.04.1

5
задан 23 May 2017 в 05:39

4 ответа

Для создания python3.4.2 из источника с _tkinter модуль необходимо установить следующую зависимость от сборки:

sudo apt-get install tk8.6-dev

Затем все, что необходимо сделать, работает make снова добавить _tkinter поддерживайте как setup.py файл автоматически обнаружит tk/tcl заголовки и создаст модуль:

~/Downloads/Python-3.4.2$ make
running build
running build_ext
building '_tkinter' extension
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -DWITH_APPINIT=1 -I/usr/include/tcl8.6 -I/usr/X11/include -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/sylvain/Downloads/Python-3.4.2/Include -I/home/sylvain/Downloads/Python-3.4.2 -c /home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.c -o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.o
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -DWITH_APPINIT=1 -I/usr/include/tcl8.6 -I/usr/X11/include -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/sylvain/Downloads/Python-3.4.2/Include -I/home/sylvain/Downloads/Python-3.4.2 -c /home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.c -o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.o
gcc -pthread -shared build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.o -L/usr/X11/lib -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib -ltk8.6 -ltcl8.6 -lX11 -o build/lib.linux-x86_64-3.4/_tkinter.cpython-34m.so

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_bz2                  _dbm                  _gdbm              
_lzma                 _sqlite3                                 
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
[...]

Теперь можно импортировать tkinter в python3.4.2:

~/Downloads/Python-3.4.2$ ./python 
Python 3.4.2 (default, Oct 30 2014, 11:34:17) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> 

Исходный ответ:

Если Вам действительно не нужен python3.4.2, я просто использовал бы значение по умолчанию python3 версия по телефону 14.04 (3.4.0)

Затем все, что необходимо сделать, является installaling следующие пакеты:

sudo apt-get install python3-tk tk

И запустите интерпретатор Python этот путь:

/usr/bin/python3

Иначе Вы будете всегда получать версию, в которой Вы установили /usr/local (3.4.2).

Импорт tk в python3 должен работать теперь:

$ 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
>>> 
8
ответ дан 23 November 2019 в 09:00

При необходимости в tkinter только для matplotlib можно также использовать другой бэкенд, как Яйцо: импортируйте matplotlib, как mpl mpl.use ('Agg') импортируют matplotlib.pyplot, поскольку plt

Видит больше деталей здесь

0
ответ дан 23 November 2019 в 09:00
sudo apt-get install python3-tk tk  

pyenv install 3.5.0  

вот именно

0
ответ дан 23 November 2019 в 09:00

Именно так Вы знаете, я использую Ubuntu 16.04. Добавление к первому ответу делает эти вещи из файла Python (После извлечения):

./configure #(there will be a configure file)
make
make test
sudo make install

я сделал эти вещи в первый раз, когда но тем не менее это показывало мне эти ошибки:

IDLE can't import Tkinter.  Your Python may not be configured for Tk.

при выполнении python3 -m idlelib.idle от cmd.

, Таким образом, я сделал:

sudo apt-get install tk-dev

или можно сделать

sudo apt-get install tk8.6-dev

с другой стороны

./configure
make
make test
sudo make install

, Это решило проблему как следующий раз, когда я работал python3 -m idlelib.idle, она открыла IDLE.

0
ответ дан 23 November 2019 в 09:00

Другие вопросы по тегам:

Похожие вопросы: