pyenvを使ってpythonのバージョンを変えた際に発生したエラーの解決

# この記事について
[pyenvでPythonのバージョンを切り替える方法
](https://qiita.com/yuya_mtk371/items/08a8fd25a34bd06bf64f)
上記の記事に従って使っているpythonのバージョンを変えようとしたところ、以下のエラーが発生してpythonのバージョン変更に失敗した。
以下のコマンドを使用してpythonのバージョンを変更しようとしたところ
```ssh:shell
$ brew install pyenv
$ pyenv install 3.11.5
$ pyenv global 3.11.5
```
以下のエラーが発生。
```ssh:shell
Warning: pyenv 2.4.19 is already installed and up-to-date.
To reinstall 2.4.19, run:
  brew reinstall pyenv
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.11.5.tar.xz...
-> https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tar.xz
Installing Python-3.11.5...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/sophytoeat/.pyenv/versions/3.11.5/lib/python3.11/ssl.py", line 100, in <module>
    import _ssl             # if we can't import it, let the error propagate
    ^^^^^^^^^^^
ModuleNotFoundError: No module named '_ssl'
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems


BUILD FAILED (OS X 15.1.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/3w/rh7h79ds2nd0shgy5dj8_4_m0000gn/T/python-build.20241202200149.10143
Results logged to /var/folders/3w/rh7h79ds2nd0shgy5dj8_4_m0000gn/T/python-build.20241202200149.10143.log

Last 10 log lines:
		DYLD_LIBRARY_PATH=/var/folders/3w/rh7h79ds2nd0shgy5dj8_4_m0000gn/T/python-build.20241202200149.10143/Python-3.11.5 ./python.exe -E -m ensurepip \
			$ensurepip --root=/ ; \
	fi
Looking in links: /var/folders/3w/rh7h79ds2nd0shgy5dj8_4_m0000gn/T/tmp9fvly540
Processing /private/var/folders/3w/rh7h79ds2nd0shgy5dj8_4_m0000gn/T/tmp9fvly540/setuptools-65.5.0-py3-none-any.whl
Processing /private/var/folders/3w/rh7h79ds2nd0shgy5dj8_4_m0000gn/T/tmp9fvly540/pip-23.2.1-py3-none-any.whl
Installing collected packages: setuptools, pip
  WARNING: The scripts pip3 and pip3.11 are installed in '/Users/sophytoeat/.pyenv/versions/3.11.5/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-23.2.1 setuptools-65.5.0
pyenv: version `3.11.5' not installed

```
opensslはbrewで入れたはずなのだが・・・
エラーをchatGPTに入力してみた。

(以下chatGPTの出力)
-------------------------------------------------------------------------------------
## エラーの意味

1.	readlineモジュールが見つからない
	•	ModuleNotFoundError: No module named 'readline'
	•	Pythonのインタラクティブシェルで使われるreadline拡張がコンパイルされていないことを示しています。
	•	原因は、GNU Readlineライブラリがシステムに存在しない、またはpyenvがそれを正しく検出できないことです。
2.	_sslモジュールが見つからない
	•	ModuleNotFoundError: No module named '_ssl'
	•	PythonのSSL/TLS機能を提供する_sslモジュールがコンパイルされていないことを示しています。
	•	原因は、OpenSSLライブラリがシステムに存在しない、またはpyenvがそれを正しく検出できないことです。

## 解決方法
### 1. 環境変数 PATH の確認と設定
pyenv をインストールする際に使われるパスが、システム環境変数 PATH に含まれていないため、以下のように設定を確認してください。

現在の PATH を確認

```bash:shell
$ echo $PATH
```
pyenv のパスを追加：
~/.zshrc または ~/.bashrc に以下を追加します：
```bash:shell
$ export PATH="$HOME/.pyenv/bin:$HOME/.pyenv/versions/3.11.5/bin:$PATH"
$ eval "$(pyenv init --path)"
```
変更を反映するためにターミナルを再読み込み：
```bash:shell
$ source ~/.zshrc
```
### 2. Python 3.11.5 を再インストール：
```bash:shell
$ pyenv uninstall 3.11.5
$ pyenv install 3.11.5
```
インストール後、pyenv global を使用してバージョンを設定：

```bash:shell
$ pyenv global 3.11.5
```
------------------------------------------------------------------------------------
(以上chatGPTの出力)

上記のコマンドを入れたらpythonの別バージョンインストールに成功
```ssh:shell
pyenv: version `3.11.5' not installed
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.11.5.tar.xz...
-> https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tar.xz
Installing Python-3.11.5...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.11.5 to /Users/sophytoeat/.pyenv/versions/3.11.5
```
バージョンを変更。
```bash:shell
$ pyenv global 3.11.5
```
pythonコマンドで確認
```bash:shell
Python 3.11.5 (main, Dec  2 2024, 20:06:18) [Clang 16.0.0 (clang-1600.0.26.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
```
pythonのバージョン変更に成功。