Обновление tcl / tk-версии Homebrew python3 на macOS

Моя среда:

macOS 10.13 python 3.7.1 из Homebrew

У меня много причуд Tcl / TK на стандартном Tcl / TK 8.5 под /System/Library/Frameworks/Tcl.framework/Versions/8.5/, и я хотел бы обновить свой Tcl / TK.

Но с этим вопросом я не смог найти никаких рабочих советов по обновлению, в том числе:

Мои результаты тестов

  1. --with-tcl-tk больше не работает с последней версией Homebrew. Запуск brew install python --with-tcl-tk по-прежнему указывает на систему Tcl / TK 8.5.9.
  2. Вышеупомянутое также проверено с помощью цикла удаления / установки.
  3. Python продолжает использовать систему Tcl / TK после установки последней версии ActiveTcl.
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
4
0
5 459
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

После множества неудач я пришел к выводу, что самый простой способ выполнить эту работу - полностью забыть о Homebrew и удалить его пакеты python.

Затем установите последнюю версию ActiveTcl, а затем версию python.org. Версия python.org будет работать поверх последней "Системной" Tcl / TK, которая будет обновлена ​​после установки ActiveTcl. К сожалению, Homebrew игнорирует это.

Текущая версия 3.7.2 с python.org скомпилирована с Tcl / TK 8.6.8:

$ python3
Python 3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter as tk
>>> print(tk.Tcl().eval('info patchlevel'))
8.6.8

После обновления исчезли некоторые ошибки, например, кнопки с неправильными отметками в меню.

Такой позор для доморощенного просто решить убрать опции при установке пакетов. Угадайте, что это либо отказ от домашнего питона и установка без менеджера, либо ожидание публикации нового пакета с использованием python и tcl / TK вместе. Спасибо, что поделился.

Ignat 07.02.2019 23:33

Также стоит отметить, что последняя версия tcl / TK - 8.6.9, которую можно установить через homebrew. ActiveSlate еще не опубликовал последние двоичные файлы. Так что еще одна вещь, о которой нужно подумать, если вы не используете доморощенное пиво.

Ignat 07.02.2019 23:39

Этот пост представляет собой изящный способ:

https://stackoverflow.com/a/60469203/10606936

НЕ НУЖНО использовать установку actviveTk или python.org на python.

Ключевой момент - предоставить правильный ENV для установки.

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