KATUUUNs blog

プログラミング学習で得た知識をアウトプットするためのブログです

学習78日目 Pythonの開発環境の準備(バージョンを切り替える方法)

こんにちは、KATUUUNです。最近はProgateでPythonの学習をしていました。一通り学習し終えたため、ローカル環境の環境構築を行いました。

今回はPythonを2系から3系に切り替える方法をアウトプットします。Progateの記事が少々古いためかなり苦戦しました。

まずMacでは標準でPythonが導入されています。そのバージョンを確認してみました。

python --version

上のコードをターミナルで実行すると
f:id:KT34309349:20210929124602p:plain

これは「2系」と呼ばれ少々古いため、3系に切り替えます。

Homebrewは既にインストールしています。その後pyenvをインストールしたいと思います。

progate通り以下のコマンドを実行すると

brew install pyenv

f:id:KT34309349:20210929125412p:plain
上記の写真のようなエラーが出てしまいました。

対処としてはarch -arm64を冒頭につけました。

arch -arm64 brew install pyenv

これでインストールできます。

その後、pyenvの設定をしておきましょう。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc

どのバージョンのPythonがインストールできるかみてみましょう

pyenv install --list

ずらっとリストが表示されたと思います。その後、

pyenv install 3.6.5

でインストールできるとProgateのサイトに書いています。しかし、できない。

代わりに

CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" \
pyenv install --patch 3.6.5 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)

これでいけます。

その後、

pyenv versions

で* system (set by /Users/katouryou/.pyenv/version)
3.6.5
が表示されればOKです。ちゃんとインストールされています。
これではまだ切り替わっていないため、

pyenv global 3.6.5

切り替えます。しかし、
f:id:KT34309349:20210929130911p:plain
切り替わらない。

公式の記事
https://github.com/pyenv/pyenv#installation
を参考にすると設定がどうも良くないらしい。

追加で

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"

をやったのち、再度pyenv global 3.6.5とpython --version をやるとうまくいきます

長文で疲れました。ありがとうございます