$ cd python2
$ pyenv local 2.7.10
</pre>
== tkinter ==
=== Install ===
まず、前提になっている brew で tcl-tk をインストールする。
<pre>
$ brew install tcl-tk
</pre>
次に、pyenvを brewでインストールした場合は /usr/local/Cellar/pyenv/VERSION/plugins/python-build/bin/python-build を
pyenv を git でインストールした場合は ~/.pyenv/plugins/python-build/bin/python-build を次のように編集。
<pre>
--- old/plugins/python-build/bin/python-build
+++ new/plugins/python-build/bin/python-build
@@ -779,7 +779,7 @@ build_package_standard_build() {
export CC=clang
fi
${!PACKAGE_CONFIGURE:-./configure} --prefix="${!PACKAGE_PREFIX_PATH:-$PREFIX_PATH}" \
- $CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 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}" || return 1
) >&4 2>&1
{ "$MAKE" $MAKE_OPTS ${!PACKAGE_MAKE_OPTS} "${!PACKAGE_MAKE_OPTS_ARRAY}"
</pre>
つまり、$CONFIGURE_OPTS で始まる1行に <tt>--with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'</tt> を加える。
ただし、M1 Macの場合は、/usr/local/opt の部分が /opt/homebrew/opt に置き換わる。
この設定をした上で、pyenv で python 自体を再インストールする。
<pre>
$ pip freeze > requirements.txt. # 現在インストールされているパッケージを覚えておく
$ pyenv versions
system
3.8.11
* 3.9.6 (set by /Users/YOU/.pyenv/version)
$ pyenv uninstall 3.9.6
$ pyenv install 3.9.6
$ pip install -r requirements.txt # 消えちゃったパッケージをインストールし直す
</pre>