Сначала был опробован python3.12.5. Python 3.12.5 вроде работает, но не может найти tkinter, хотя файл есть в файловой системе, где он и должен быть после сборки python3.12.
История.< /p>
После прочтения нескольких онлайн-ресурсов и блогов, а затем загрузки чистого Bookworm на pi4b...
1- загрузил gzip-архив исходный код Python 3.12.5 с сайта python.org и расширил его.
2- затем установил некоторые рекомендованные (необходимые?) библиотеки, рекомендованные несколькими онлайн-ресурсами
Код: Выделить всё
pi@raspberrypi:~ $ sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev
build-essential is already the newest version (12.9).
libgdbm-dev is already the newest version (1.19-2).
libffi-dev is already the newest version (3.3-6).
libffi-dev set to manually installed.
libncurses5-dev is already the newest version (6.2+20201114-2+deb11u2).
libnss3-dev is already the newest version (2:3.61-1+deb11u3).
zlib1g-dev is already the newest version (1:1.2.11.dfsg-2+deb11u2).
libssl-dev is already the newest version (1.1.1w-0+deb11u1+rpt1).
The following NEW packages will be installed:
libreadline-dev libsqlite3-dev
3. Далее была сборка Python 3.12.5 с использованием make altinstall, желая сохранить исходный образ python3.9.2 неповрежденным. .
В Python 3.12.5 все работало нормально, пока не был импортирован tkinter. Текущий проект — это проект tkinter. Но, хотя tkinter действительно присутствовал в системе, его не удалось обнаружить при запуске Python 3.12.5.
После дополнительных исследований, видимо, нужно сначала убедиться, что tk- dev доступна в системе перед сборкой любых версий Python3. Проверяю систему - нет, его не было.
Проверяю репозиторий на наличие Bookworm, да, tk-dev там есть для установки. Я запустил стандартный Python3.9.2 Bookworm. Tkinter для 3.9.2 работает.
выйдите и затем запустите python3.12.5.
Он не находит установленный tkinter 3.12.5, хотя он есть и после сделать установку. Проблема с привязкой?
Вывод: если предположить, что упакованный Python 3.9.2 был создан для образа Bookworm с должным образом доступным tk-dev в то время, когда образ был подготовлен и протестирован для дистрибутив, тогда tk-dev и, возможно, tcl-dev должны быть сначала установлены в системе перед любой другой дополнительной сборкой Python3, если эти будущие сборки Python3 смогут найти свои файлы tkinter. Возможно, tk-dev обеспечивает правильные привязки для tkinter при создании версии Python3? И тут возникают вопросы:
При поиске в репозитории были найдены следующие ресурсы...
Код: Выделить всё
tk-dev
tk-doc
tk8.6
tk8.6-dev
tk8.6-doc
Код: Выделить всё
tcl
tcl-dev
tcl-doc
tcl8.6
tcl8.6-dev
Вопрос 1 : Почему доступен и tk-dev, и tk8.6-dev? Обе версии 8.6?
Планирую сделать следующее:
Код: Выделить всё
sudo apt install tk-dev tk-doc tk8.6-dev tk8.6-doc
sudo apt install tcl-dev tcl-doc tcl8.6 tcl8.6-dev
далее выполните команду make altinstall Python 3.13
Вопрос 2: Можете ли вы подробно рассказать о том, что мне может не хватать в этом плане, или о чем-то, что мне не нужно устанавливать перед командой make altinstall Python 3.13, чтобы обеспечить полную поддержку tkinter 8.6 в Python 3.13?
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/791 ... rm-on-pi4b
Мобильная версия