はじめに
プロジェクトでPython3.8.5をインストールする必要があったのですが、Pythonの環境構築が初めてで、M1 Macを使用しているので色々とつまづきました。
venvで仮想環境の作成もしましたので手順を記載します。
環境
チップ | OS |
---|---|
Apple M1 MAX | Sonoma 14.1.2 |
環境構築前のバージョンはこのようになっていました。
% python --version
zsh: command not found: python
% python3 --version
Python 3.9.19
Homebrewのインストール
Homebrewがインストールされていない場合はインストールします。
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
pyenvのインストール
% brew install pyenv
pyenvのパスを通す
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
ターミナルを再起動または下記コマンドでshell設定を反映します。
% source ~/.zshrc
補足
ここでパスが通っていなかったので、python3 --version
で確認した際にpyenvではなくmacに元々インストールされていたバージョンになってしまい後々嵌まることになりました。
pyenvコマンド
## インストールできるバージョンのリスト
% pyenv install --list
## バージョンを指定してインストール
% pyenv install 【version】
## インストールしたバージョンの一覧
% pyenv versions
## 使用するバージョンの指定
% pyenv global 【version】
% pyenv local 【version】
pythonのインストール
% pyenv install 3.8.5
エラー発生
BUILD FAILED (OS X 14.1.2 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/_p/qdj099zx4gsdlb4kl_l7bsd80000gn/T/python-build.20240513110603.6691
Results logged to /var/folders/_p/qdj099zx4gsdlb4kl_l7bsd80000gn/T/python-build.20240513110603.6691.log
Last 10 log lines:
checking size of _Bool... 1
checking size of off_t... 8
checking whether to enable large file support... no
checking size of time_t... 8
checking for pthread_t... yes
checking size of pthread_t... 8
checking size of pthread_key_t... 8
checking whether pthread_key_t is compatible with int... no
configure: error: Unexpected output of 'arch' on OSX
make: *** No targets specified and no makefile found. Stop.
Mac m1が関係していそうなので、arch -arch x86_64 env PATH〜
など試してみるが解決せず、brew install python@3.8
で3.8.19を直接インストールするも、その後のpip install
がうまくいきませんでした。
途中、Command Line Toolsがないと怒られXcodeのアップデート、Command Line Toolsのインストールなどだいぶ遠回りしましたが、結局以下のコマンドでインストールする事が出来ました。
ちなみにpyenv install 3.8.19
はエラーにならず、普通にインストールできました。
解決
% pyenv install --patch 3.8.5 <<(curl -sSL https://raw.githubusercontent.com/Homebrew/formula-patches/113aa84/python/3.8.3.patch\?full_index\=1)
無事インストールできたようなので、プロジェクトルートに移動して、バージョンを指定します。
% pyenv local 3.8.5
バージョンの確認
% pyenv versions
## output
system
* 3.8.5 (set by /Users/username/project/.python-version)
% python3 --version
## output
Python 3.8.5
できた!
venvで仮想環境を作成
% python3 -m venv .venv
.venv
が仮想環境名となります。
次に仮想環境を起動します。
source .venv/bin/activate
ターミナルに(.venv)
と表示され、仮想環境に入っている事が確認できます。
pip install 〜
で必要なパッケージをインストールします。
仮想環境を終了するには、
deactivate
で抜ける事が出来ます。
参考にさせていただいた記事