Mac pyenv安装python没有tkinter

System info:
macOS 10.14.6 (Mojave), tcl-tk 8.6.9, pyenv 1.2.15, and python 3.8.0.

ModuleNotFoundError: No module named '_tkinter'

  1. Install pyenv via homebrew
    brew install pyenv
  2. Install tcl-tk via homebrew
    brew install tcl-tk
  3. Add environment variables into ~/.zshrc

python pyenv

export PATH="HOME/.pyenv/bin:PATH"
if which pyenv > /dev/null; then
eval "$(pyenv init -)";
fi

pyenv-virtualenv

if which pyenv-virtualenv-init > /dev/null; then
eval "$(pyenv virtualenv-init -)";
fi

tcl-tk

export PATH="/usr/local/opt/tcl-tk/bin:$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"
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'"

  1. Install pyenv-virtualenv via homebrew
    brew install pyenv-virtualenv
  2. Install python by pyenv (3.8.0 for example)
    pyenv install 3.8.0
  3. Restart shell
    exec $SHELL
  4. Create a local environment of python 3.8.0 by pyenv:
    pyenv local 3.8.0
    pyenv version
  5. Test tcl-tk installation with:
    python -m tkinter -c 'tkinter._test()'
    or simply:
    idle
    Job done.

references:
https://github.com/pyenv/pyenv/issues/1375#issuecomment-524280004
https://github.com/pyenv/pyenv/issues/1375#issuecomment-549754431

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容