На самом деле я пытался установить python в pyenv и заставить мой IDLE работать. Следующее сработало для меня (в основном из https://github.com/pyenv/pyenv/issues/1375; Установлено Python 3 на Ma c OS X, но все еще Python 2.7 ; https://opensource.com/article/19/5/python-3-default-mac , с несколькими дополнительными шагами). Спасибо за вашу помощь. Я отправил свое решение на https://github.com/pyenv/pyenv/issues/1375, тоже для справки)
- побежал $
brew install pyenv
- побежал $
brew install tcl-tk
Вывод после "brew reinstall tcl-tk":
tcl-tk только для кег, что означает, что он не был связан с / usr / local, потому что tk устанавливает некоторые заголовки X11, а macOS предоставляет (старше) Tcl / Tk.
Если вам нужно, чтобы tcl-tk был первым в вашем запуске PATH:
echo 'export PATH = "/ usr / local / opt / tcl-tk / bin: $ PATH "'>> ~ / .zshr c
(я добавил его в ~ / .zshr c в качестве первой строки)
Для компиляторов найти tcl- tk вам может потребоваться установить:
export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"
(я добавил эти два в ~ / .zshr c тоже после добавления вышеупомянутого)
Для pkg-config найти tcl -tk вам может потребоваться установить:
export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"
(я добавил эти два к ~ / .zshr c тоже после добавления выше)
Чтобы заставить tcl-tk 8.6 работать с установкой pyenv python, я нашел:
/ usr / local / Cellar / pyenv / 1.2.13 / plugins / python -build / bin / python -build
и заменил следующее: $ CONFIGURE_OPTS $ {! PACKAGE_CONFIGURE_OPTS} "$ {! PACKAGE_CONFIGURE_OPTS_ARRAY}" || вернуть 1 с: $ CONFIGURE_OPTS --with-tcltk-includes = '- I / usr / local / opt / tcl-tk / include' --with-tcltk-libs = '- L / usr / local / opt / tcl- tk / lib -ltcl8.6 -ltk8.6 '$ {! PACKAGE_CONFIGURE_OPTS} "$ {! PACKAGE_CONFIGURE_OPTS_ARRAY}" || возврат 1
run $ pyenv install 3.8.1
Установлено Python -3.8.1 в /Users/ryan/.pyenv/versions/3.8.1
run $ pyenv global 3.8.1
Обновил текущий терминал и проверил
Вывод версии $ pyenv: 3.8.1 (устанавливается /Users/ryan/.pyenv/version)
Ран $ python -V
вывод: Python 3.8.1
run $
pip install --upgrade pip
(поскольку я ранее уже установил pip с помощью $ pip install)
output: успешно установлен pip-20.0.2
Протестировал мою установку tcl-tk с $ python -m tkinter -c 'tkinter._test()'
Вывод: окно Tk всплыло. Нажмите «Выйти», чтобы вернуться к терминалу.
Ran $ idle
Вывод: Python 3.8.1 Окно оболочки всплыло.
Установка была выполнена на MacBook Pro с MacOS Catalina 10.15.3.