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? Как я могу исправить это?
РЕДАКТИРОВАТЬ: Более подробная информация.
$ 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
8 ответов
В соответствии с разделом "Как Python выбирает, какую библиотеку Tk использовать" на странице "IDLE и tinter with Tcl/Tk в Mac OS X" на официальном сайте python,
Установщики Python для Mac OS X, загруженные с этого веб-сайта, динамически связываются во время выполнения с платформами Tcl/Tk Mac OS X. Основная версия Tcl / Tk определяется при создании установщика и не может быть переопределена. Установщики Python для 64-битной /32-битной 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 и не может быть изменена позже.
Из этих наблюдений решение ясно:
- Установите последнюю версию 8.5 ActiveTcl.
- Переустановите питон.
Я следовал за этими шагами, и теперь все, кажется, работает.
У меня OS X 10.10.5.
- Я установил Python 3.4.3.
- Запустил IDLE, получил предупреждение: "Используемая версия Tcl/Tk (8.5.9) может быть нестабильной".
- Перешел в [Active State][1] и скачал предложенное "Скачать ActiveTcl 8.6.4 для Mac OS X (10.5+, x86_64/x86)".
- Запустил установщик для "ActiveTcl8.6.4.1.299124-macosx10.5-i386-x86_64-threadaded.dmg"
- Переустановлен: python-3.4.3-macosx10.6.pkg
- Run IDLE - все то же сообщение: "Используемая версия Tcl/Tk (8.5.9) может быть нестабильной".
- Проверено - Да, 8.6.4 есть.
- Вернулся в активное состояние и получил предыдущую версию: "ActiveTcl8.5.18.0.298892-macosx10.5-i386-x86_64-threadaded.dmg"
- Переустановлен: python-3.4.3-macosx10.6.pkg
- Побежал IDLE - без предупреждения.
Это сработало для меня
ВНИМАНИЕ: Используемая версия Tcl/Tk (8.5.9) может быть нестабильной.
brew remove python3
brew install homebrew/dupes/tcl-tk
brew install python3 --with-tcl-tk
brew linkapps python3
Я столкнулся с той же проблемой. Вы можете решить эту проблему, загрузив версию Active Tcl 8.5.17, а не последнюю версию.
Попробуйте загрузить версию, которую ищет Python: 8.5.X. Версия 8.6.X не распознается.
Как я решил проблему:
Сначала нам нужно установить ActiveTcl8.5.18.0
Запустите файл, который вы скачали.
CTRL + CLICK (как Mac, так и Windows), чтобы открыть контекстное меню. Если вы получаете сообщение об ошибке, не может быть открыто, потому что это от неопознанного разработчика - вам нужно нажать CTRL + CLICK, не нажимайте дважды.
- Нажмите Открыть в контекстном меню.
- Нажмите Открыть во всплывающем диалоговом окне (левая, НЕ синяя кнопка)
- Установить.
Если это не решает проблему, нам нужно удалить Python. Эта статья действительно помогла мне.
У меня возникла такая же проблема после запуска IDLE в OSX 10.10 с установленным python 2.7.9 / 3.4.1 (и при просмотре той же информации о переменной $PATH, что и в оригинальном постере).
Я пошел на эту страницу поддержки Python:
Я сослался на их таблицу "Сводка текущих рекомендаций", чтобы определить необходимые Tcl/Tk; он связан с загружаемым.DMG, который я установил, а затем IDLE запустил без предупреждений.
Мне не пришлось переустанавливать Python.
Похоже, что это сломано на Высокой Сьерре. После выполнения этих шагов происходит сбой idle3 при открытии файла с "Недопустимым или преждевременно освобожденным пулом автоматического выпуска" после выдачи предупреждения о том, что FIFinderSyncExtensionHost установлен в двух местах.