私の環境はMacOS15.2 、Macbookair(M1)を使用している。
先日よりPython100dayChallengeをしているのですが、そのチャレンジとして、GUI操作できるToDoListを作りたいなと思い、Tkinterを使うことに(ChatGPTからの提案)。
しかし、これがどうにも動かない。
動かすたびに
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
となる。
古い環境のままになっていて、それを優先して呼び出していた。
.pyenv/shims/python3を使用している状態だった。
また、こちらのほうのPythonのバージョンは3.11.1だった。
つまり、過去に構築したpyenvが有効になっており、.pyenv/shims/python3が優先されていたのが原因(他にもあることが後に発覚するのだけど)。
1. .zprofile や .zshrc にこんな行がありませんか?
────────
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
このあたりをコメントアウトしてください:
────────
# export PYENV_ROOT="$HOME/.pyenv"
# export PATH="$PYENV_ROOT/bin:$PATH"
# eval "$(pyenv init --path)"
# eval "$(pyenv init -)"
────────
2. 設定を反映
source ~/.zprofile # または ~/.zshrc
3. バージョン確認
which python3
python3 --version
python3 --version
>>> conda initialize >>>
中略
<<< conda initialize <<<
という記述がある。
そういえば、昔々にAnaconda、インストールしたな……
さきほど、古い環境のままになっていて、と書きましたが、そう、Anacondaまで絡んでいたんですね……。
というわけで、再度ChatGPTくんに聞いてみる。
以下、ChatGPT先輩の回答。
────────
ありがとうございます!これは良い情報です。
状況を整理すると、pyenv だけでなく conda も起動時に有効になっていて、Python のバージョンを奪い合っている状態ですね。
✅ 今のゴール
Homebrew でインストールした Python 3.13.x を常に使えるようにしたい(python3 --version で確認できるようにしたい)。
🧹 Step-by-step で環境をクリーンにする方法
✅ ① .zshrc から pyenv と conda を無効化する
現在の .zshrc にある下記の pyenv 関連と conda initialize 全体をコメントアウトまたは削除してください:
# export PYENV_ROOT="$HOME/.pyenv"
# export PATH="$PYENV_ROOT/bin:$PATH"
# eval "$(pyenv init -)"
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
# __conda_setup="$('/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
# if [ $? -eq 0 ]; then
# eval "$__conda_setup"
# else
# if [ -f "/anaconda3/etc/profile.d/conda.sh" ]; then
# . "/anaconda3/etc/profile.d/conda.sh"
# else
# export PATH="//anaconda3/bin:$PATH"
# fi
# fi
# unset __conda_setup
# <<< conda initialize <<<
✅ ② .zprofile に以下を追記(Homebrew の Python を優先)
# Homebrew の初期化(すでにある場合は不要)
eval "$(/opt/homebrew/bin/brew shellenv)"
# Homebrew の Python を優先
export PATH="/opt/homebrew/bin:$PATH"
# python / pip の alias(必要に応じて)
alias python=python3
alias pip=pip3
✅ ③ ターミナルを再起動 or 設定を読み込み直す
source ~/.zshrc
source ~/.zprofile
✅ ④ Python のバージョンを確認
which python3
python3 --version
which python3 が /opt/homebrew/bin/python3 になっていれば成功!
そして python3 --version が 3.13.x であることを確認してください。
────────
さて、これで無事にTkinterを使えるぞ!と思ったのも束の間、
動!き!ま!せ!ん!!!
VSCodeでなんかうごきません!!
原因は──
────────
「VSCode が使っている Python(インタプリタ)」が、今あなたが整えた Homebrew の Python じゃない可能性が高いです。
────────
✅ 解決方法:VSCode の Python インタプリタを明示的に指定しよう
1. VSCode を開く
2.コマンドパレットを開く(Cmd + Shift + P)
3. Python: Select Interpreter を選ぶ
4.候補の中から次のようなものを選択:
もしそれが表示されていなければ、「Enter interpreter path...」→「Find...」で直接 /opt/homebrew/bin/python3 を指定してください。
────────
私の場合、Find...」で直接 /opt/homebrew/bin/python3 を指定しました。
これで……?
動いた……?
動いてる……!!
ウインドウが出てきているよ……!!
はい。
まとめると、
①pyenvを優先して参照している
②そもそもAnaconda(Conda環境まで作っちゃっていた)