无法使用 pyenv 安装运行 IDLE:“Python 可能未配置 Tk”“ModuleNotFoundError:没有名为 _tkinter 的模块”[重复]

2023-11-24

我最近花了几个小时制作tkinter和闲置工作在我的pyenvPython 安装 (macOS)。

你为什么在这里?

  1. 您可以使用以下命令管理 Python 版本pyenv在 macOS 上and
  2. (您希望 IDLE(Python 开发环境)在您的 macOS 上工作
  3. 或者你想要tkinter模块工作)

怎么了?

您会收到以下错误之一:

  1. Python may not be configured for Tk on import tkinter
  2. import _tkinter # If this fails your Python may not be configured for Tk
  3. RuntimeError: tk.h version (8.6) doesn't match libtk.a version (8.5)
  4. ModuleNotFoundError: No module named '_tkinter'

Here is 分步指南使 IDLE 和tkinter work:

  1. install tcl-tk与自制。在 shell 中运行brew install tcl-tk
  2. 在外壳中运行echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.zshrc
  3. 通过退出重新加载 shellTerminal应用程序或运行source ~/.zshrc
  4. 重新加载后检查tck-tk is in $PATH. Run echo $PATH | grep --color=auto tcl-tk。结果你应该看到你的 $PATH 内容tcl-tk突出显示
  5. now we run three commands from Homebrew's output from step #1
    1. 在外壳中运行export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
    2. 在外壳中运行export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"
    3. 在外壳中运行export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"
  6. 如果你已经安装了Python版本pyenv然后卸载它pyenv uninstall <your python version>. E.g. pyenv uninstall 3.8.2
  7. 设置将使用的环境变量python-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是实际的
  8. 最后安装Pythonpyenv with pyenv install <version>. E.g. pyenv install 3.8.2

Test

  1. 在外壳中运行pyenv global <verion that you've just installed>
  2. 现在检查空闲。在 shell 中运行idle。您应该看到 IDLE 窗口,没有任何警告和“文本以红色打印”。

IDLE window run from Terminal. No warnings

  1. 现在检查tkinter。在 shell 中运行python -m tkinter -c "tkinter._test()"。您应该看到如图所示的测试窗口:

tkinter test window

就是这样!

我的环境:

检查执行上述步骤是否出了问题:

  1. macOS Catalina
  2. zsh(包含在 macOS Catalina 中)=上面的“壳”
  3. Homebrew(按照Homebrew官网的说明安装)
  4. pyenv(随 Homebrew 一起安装,并根据以下内容更新 PATHpyenv来自 GitHub 的官方自述文件)
  5. Python 3.8.x - 3.9.x(安装有pyenv install <version>命令)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 pyenv 安装运行 IDLE:“Python 可能未配置 Tk”“ModuleNotFoundError:没有名为 _tkinter 的模块”[重复] 的相关文章

随机推荐