Я использую Python 3.7 и IDLE IDE на моем Ma c под управлением Catalina 10.15.4.
Я пытаюсь создать простое приложение, используя tkinter и py2app. На этом этапе у меня есть простой скрипт heatmap.py, который использует tkinter, принимает в качестве входных данных квадратную матрицу, например [[1,2], [3,4]] и создает тепловую диаграмму в новом окне. Файл работает нормально.
Более того, если я создам файл heatmap.command, сначала вставив #! / Usr / bin / env python3 в начало файла .py, переименовав heatmap.py в heatmap.command и набрав chmod + x heatmap.command на терминале, файл будет нормально работать, набрав ./heatmap.command на терминале.
Итак, теперь я пытаюсь создать приложение с помощью py2app, следуя указаниям в https://py2app.readthedocs.io/en/latest/tutorial.html следующим образом, предполагая, что я изменил каталоги на терминале, чтобы они работали в одном содержащий heatmap.py:
py2applet --make-setup heatmap.py
rm -rf build dist
python setup.py py2app -A
Работает без сообщений об ошибках. В моем текущем каталоге я вижу папку, содержащую приложение под названием тепловая карта. Перед сборкой для развертывания (путем ввода python setup.py py2app) я попытался запустить приложение на терминале:
./dist/heatmap.app/Contents/MacOS/heatmap
Это привело к сообщению об ошибке, указывающему, что «tkinter не может быть найден».
Я заметил, что /Library/Frameworks/Python.framework/Versions/3.7/lib/Python3.7/site-packages не содержит tkinter. Однако каталог на один уровень выше, /Library/Frameworks/Python.framework/Versions/3.7/lib/Python3.7, действительно содержал его.
В качестве первой попытки адресовать сообщение я просто скопировал папку tkinter в папку site-packages. Это не сработало.
Итак, я попытался установить его снова двумя разными способами:
- В терминале: pip install tkinter
Используя IDLE:
а. Сначала определите системный исполняемый путь, полученный в IDLE с помощью команды sys; sys.executable, который вернул '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7'
b. Затем введите /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -m pip install tkinter
Метод 2 - это то, как я установил множество другие пакеты, использующие IDLE. В обоих случаях я получил следующее сообщение об ошибке:
ОШИБКА: не удалось найти версию, удовлетворяющую требованию tkinter (из версий: нет) ОШИБКА: не найдено подходящего распределения для tkinter
Имеет это значит, что 3.7 не поддерживает tkinter? Я не думал, что это так, или, может быть, я делаю какую-то ошибку?