Другая версия tkinter, импортированная другой версией python

#python #tkinter #pip #python-3.7 #python-3.8

#python #tkinter #pip #python-3.7 #python-3.8

Вопрос:

У меня установлен Tkinter version 8.6 на macOS. Когда я запускаю python3.7 (версия python по умолчанию при вводе python), tkinter версии 8.6 загружается успешно:

 python3.7
Python 3.7.4 (default, Aug 13 2019, 15:17:50)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter as tk
>>> print(tk.Tcl().eval('info patchlevel'))
8.6.10
  

в то время как на python3.8 это не:

 python3.8
Python 3.8.6 (default, Oct  8 2020, 14:06:32)
[Clang 12.0.0 (clang-1200.0.32.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter as tk
>>> print(tk.Tcl().eval('info patchlevel'))
8.5.9
  

Мне нужно 8.6.10 , чтобы python3.8 она тоже загружалась

Комментарии:

1. @Sayse: tkinter является встроенным модулем Python. И уровень исправления основан на версии библиотек Tcl / Tk, с которыми он был связан при его создании, а не на версии модуля Python.

2. @ShadowRanger итак, есть способ это исправить?

3. Исправление в основном заключается в том, чтобы убедиться, что вы используете версию Python, которая была собрана на основе правильной версии заголовков и библиотек Tk. Вы сказали, что 3.7.4 поставляется вместе с ОС, но вы не сказали, откуда у вас 3.8.6. Если это был предварительно созданный двоичный файл, вы, вероятно, застряли (или вам нужно искать лучший источник). Если вы создали его самостоятельно, вам нужно исправить ./configure аргументы, чтобы сообщить ему, где найти правильную версию Tk.