LoginSignup
0
0

More than 1 year has passed since last update.

Macのpyenv+pycharm環境下でtkinterが使えなかったトラブル

Last updated at Posted at 2022-05-30

「あれ?Labelがpackされてないぞ!!?」
真っ黒なウィンドウしか作成されず
困っていたところ以下の記事に助けられました。
また忘れそうなのでメモ。

Macのpyenv環境下でtkinterを使えるようにする方法をそのままにトラブルを解決したというメモです。

やり方は、基本元記事を参考にしてやってください。
macとpyenvのバージョンとターミナルのシェルが違うくらいです。

使用した環境

  • macOS Monterey 12.3.1
  • zshを使用
  • pyenv 2.3.0
  • tcl-tk: stable 8.6

そのほかの情報

pyenvでインストールしたpython3.9.6を使用していた
pycharmやVScodeのインタプリタとして使用。

まずはtcl-tkが含まれていないpythonをアンインストール

pyenv global system #systemにまず切り替える
pyenv uninstall 3.9.6 #アンインストールする
brew install tcl-tk #brewを介してtcl-tkをインストール

ターミナルの設定をする

~/.zshrc

#nodeのインストの時に設定した記述部分
source ~/.profile
export PATH=$HOME/.nodebrew/current/bin:$PATH
eval "$(pyenv init -)"

#今回の追加記述
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"

.zprofile

#nodeとpyenvのための記述
export PATH=$HOME/.nodebrew/current/bin:$PATH
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

#今回の追加記述
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"

pyenvからtcl-tkの8.6を使用するようにpython3.9.6をインストール

$ 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'" pyenv install 3.9.6

3.9.6でなくてもいいと思うのですが、
自分は今回python3.9.6にしています。

スクリーンショット 2022-05-30 11.56.27.png

無事にlabelなどがpackされるようになりました。
背景はデフォルト黒のままでした・・・。

configureで色は変えられるみたいので、
とりあえずこのままやってみようと思います。

import tkinter as tk
root = tk.Tk()
root.geometory("300x400")
root.configure(bg="pink")

スクリーンショット 2022-05-30 11.58.39.png

pygameも試しているのですが、
そちらはこのようなトラブルはなく
ウィンドウにpack的なことをすることは可能でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0