IDLE предупреждает о старой версии TCL, хотя я установил новую версию

Я установил ActiveTcl8.6.1.1.297588-macosx10.5-i386-x86_64-threaded в свою OS X 10.9.1. Однако, когда я запускаю IDLE, запустив idle3 из терминала, в окне IDLE появится следующее предупреждение:

Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 16 2013, 23:39:35) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.
Visit http://www.python.org/download/mac/tcltk/ for current information.

Почему новая версия ActiveTcl, которую я установил, не распознан IDLE? Как я могу это исправить?

EDIT: подробная информация.

$ echo $PATH
/Library/Frameworks/Python.framework/Versions/3.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

$ which tclsh
/usr/bin/tclsh

$ ls -l /usr/bin/tclsh*
lrwxr-xr-x  1 root  wheel  17 Jan 15 10:45 /usr/bin/tclsh -> /usr/bin/tclsh8.6
lrwxr-xr-x  1 root  wheel  67 Oct 25 19:59 /usr/bin/tclsh8.4 -> ../../System/Library/Frameworks/Tcl.framework/Versions/8.4/tclsh8.4
lrwxr-xr-x  1 root  wheel  67 Oct 25 19:59 /usr/bin/tclsh8.5 -> ../../System/Library/Frameworks/Tcl.framework/Versions/8.5/tclsh8.5
lrwxr-xr-x  1 root  wheel  23 Jan 15 10:45 /usr/bin/tclsh8.6 -> /usr/local/bin/tclsh8.6

$ ls -l /usr/local/bin/tclsh*
lrwxr-xr-x  1 root  admin      8 Jan 15 10:40 /usr/local/bin/tclsh -> tclsh8.6
-rwxr-xr-x  1 root  admin  41716 Oct 27 04:45 /usr/local/bin/tclsh8.6

Ответ 1

В соответствии с разделом "Как выбрать Python, какую библиотеку Tk для использования" на странице "IDLE и tinter с Tcl/Tk на Mac OS X" на официальном веб-сайт python,

Установщики Python для Mac OS X, загруженные с этого сайта, динамически связывают во время исполнения с Tcl/Tk Mac OS X. Основная версия Tcl/Tk определяется при создании установщика и не может быть переопределена. 64-разрядные/32-разрядные инсталляторы Python для Mac OS X для Python 3.4.x, 3.3.x, 3.2.x и 2.7.x динамически связаны с каркасами Tcl/Tk 8.5.

Итак, кажется, что

  • Текущие установки python для OS X не распознают последнюю версию ActiveTcl (а именно 8.6).
  • Версия Tcl/Tk, используемая python, жестко связана во время процедуры установки python и не может быть изменена позже.

Из этих наблюдений ясно решение:

  • Установите последнюю версию версии ActiveTcl 8.5.
  • Переустановите python.

Я выполнил эти шаги, и теперь все работает.

Ответ 2

У меня OS X 10.10.5.

  • Я установил Python 3.4.3.
  • Ran IDLE, получил предупреждение: "Используемая версия Tcl/Tk (8.5.9) может быть нестабильной".
  • Пошел в [Активное состояние] [1] и загрузил предложенный "Загрузить ActiveTcl 8.6.4 для Mac OS X (10.5+, x86_64/x86)".
  • Установщик Ran для "ActiveTcl8.6.4.1.299124-macosx10.5-i386-x86_64-threaded.dmg"
  • Переустановлено: python-3.4.3-macosx10.6.pkg
  • Ran IDLE - еще одно сообщение: "Используемая версия Tcl/Tk (8.5.9) может быть нестабильной".
  • Проверено - Да, 8.6.4 есть.
  • Вернулся в активное состояние и получил предыдущую версию: "ActiveTcl8.5.18.0.298892-macosx10.5-i386-x86_64-threaded.dmg"
  • Переустановлено: python-3.4.3-macosx10.6.pkg
  • Ran IDLE - нет предупреждений.

Ответ 3

Это сработало для меня

ПРЕДУПРЕЖДЕНИЕ: Используемая версия Tcl/Tk (8.5.9) может быть нестабильной.

brew remove python3

brew install homebrew/dupes/tcl-tk

brew install python3 --with-tcl-tk

brew linkapps python3

Ответ 4

Попробуйте загрузить версию, которую ищет Python: 8.5.X. Версия 8.6.X не распознается.

Ответ 5

Я столкнулся с той же проблемой. Вы можете решить эту проблему, загрузив Active Tcl 8.5.17 версию, а не последнюю версию.

Ответ 6

У меня была такая же проблема после запуска IDLE на OSX 10.10 с установленным python 2.7.9/3.4.1 (и видением той же переменной переменной PATH в качестве исходного плаката).

Я пошел на эту страницу поддержки python:

Я ссылался на их график "сводки текущих рекомендаций", чтобы определить Tcl/Tk; он связан с загружаемым .DMG, который я установил, а затем IDLE работал без предупреждений.

Мне не нужно было переустанавливать python.

Ответ 7

Это кажется сломанным на Высокой Сьерре. После выполнения шагов idle3 сработает при открытии файла с недопустимым или досрочно освобожденным пулом автозапуска после выдачи предупреждения о том, что FIFinderSyncExtensionHost установлен в двух местах.