Dad*_*dyM 8 python macos tkinter python-idle pyenv
我最近花了几个小时tkinter在我的pyenvPython 安装 (macOS)上制作和空闲工作。
你为什么在这里?
pyenv在 macOS 上管理 Python 版本,并且tkinter模块工作)怎么了?
您会收到以下错误之一:
Python may not be configured for Tk 在 import tkinterimport _tkinter # If this fails your Python may not be configured for TkRuntimeError: tk.h version (8.6) doesn't match libtk.a version (8.5)ModuleNotFoundError: No module named '_tkinter'Dad*_*dyM 10
以下是制作 IDLE 和工作的分步指南tkinter:
tcl-tk用 Homebrew安装。在 shell 中运行brew install tcl-tkecho 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.zshrcTerminal应用程序或运行重新加载外壳source ~/.zshrctck-tk在$PATH. 运行echo $PATH | grep --color=auto tcl-tk。结果,您应该看到tcl-tk突出显示的$PATH 内容export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"pyenv则使用pyenv uninstall <your python version>. 例如pyenv uninstall 3.8.2python-build。在 shell 中运行export PYTHON_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'"
注意:将来使用tck-tk实际安装 Homebrew 的版本。在发布的那一刻8.6是实际的pyenv用pyenv install <version>. 例如pyenv install 3.8.2测试
pyenv global <verion that you've just installed>idle. 您应该会看到没有任何警告的空闲窗口和“以红色打印的文本”。tkinter。在 shell 中运行python -m tkinter -c "tkinter._test()". 您应该会看到如图所示的测试窗口:就是这样!
我的环境:
检查这是不是在执行上述步骤时出错:
zsh(包含在 macOS Catalina 中)=上面的“shell”pyenv(根据pyenvGitHub 的官方自述文件安装了 Homebrew 和 PATH 更新)3.8.x- 3.9.x(用pyenv install <version>命令安装)