※ Tensorflow を使う場合は特殊な手順が必要なので、このページの手順ではなく Tensorflowの環境を作る(miniforge編) を参照してください。
このページでは Apple Silicon Mac のネイティブ環境(Rosettaを使わない、ARM64の環境)に Python をインストールする手順を説明します。Python のバージョンは少なくとも Python 3.9 か、より新しいものを推奨します。numpy 等、Python のいくつかのライブラリは Python 3.9 以降でしか Apple Silicon Mac のネイティブ環境に対応していないためです。
ただし、作ったプログラムをデプロイするサーバーの環境によっては、Python 3.8 以前のバージョンでないと動作しない場合もあります。(例えば、AWSのElasticBeanstalk) このように、動作させる環境と Python のバージョンが密接に関係するところが Python の難しいところです。
Python のインストール
Homebrew
brew コマンドを使いますので、Homebrew をまだインストールしてない場合はこの記事「Macの環境設定」の中の「Homebrew」を参照してインストールしてください。
pyenv
Python のバージョン云々の話には必ず登場する pyenv もインストールしましょう。まだインストールされていなかったら次のコマンドでインストールします。
1 |
$ brew install pyenv |
インストールできたら pyenv を有効にするため、ホームディレクトリの .zshrc に次の3行を追加します。もし bash を使っていたら .bashrc に追加してください。
1 2 3 |
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/shims:$PATH" eval "$(pyenv init -)" |
ターミナルソフトを再起動するか、”source ~/.zshrc” コマンドを実行すれば追加した内容が反映されます。
Python 本体のインストール
pyenv を使って Python をインストールすると、異なるバージョンの Python を同じパソコンの中に共存させることができます。次のコマンドを実行すると pyenv でインストール可能なバージョンが一覧表示されます。
1 |
$ pyenv install --list |
長いリストが表示されますが、先頭付近に表示される、数字のバージョン名のものが標準的な Python です。どのバージョンを使うかについては、授業や開発プロジェクトで指定されている場合はそのバージョンを使ってください。使用したいライブラリによって動作する Python バージョンが制限される場合もあります。
一般的には、なるべく新しい、しかし安定したバージョンを選択するべきでしょう。Python のバージョンは 3.xx.yy のような形式になっています。3.xx までがメジャーバージョン、yy がマイナーバージョンを示します。yy が少ししかない場合はそのバージョンはまだ成熟していないと判断できます。yy のバージョンがある程度進んでいるメジャーバージョンを選び、その中の最後の yy バージョンを使うのが無難です。
例として、3.11系列の最新版(2023年11月現在)の 3.11.6 を使うことにします。
1 2 |
$ pyenv install 3.11.6 ←指定したバージョンのPythonがインストールされます。 $ pyenv versions ←pyenv配下にインストールされたPythonのバージョン一覧を表示。指定したバージョンがあればOK。 |
仮想環境の作成
当サイトでは度々登場しますが、virtualenv を使って Python の仮想環境を作ります。virtualenv をインストールします。
1 |
$ sudo pip3 install virtualenv |
virtualenvの使い方をまとめておきます。
virtualenv –version (”-” は2個) | バージョンの確認 |
virtualenv [作成する環境名] | 仮想環境の作成 |
source [環境名]/bin/activate | 仮想環境の有効化 |
deactivate | 仮想環境の無効化(元に戻る) |
Python を使う目的や開発プロジェクトに応じて、専用のディレクトリを作成してください。その作業ディレクトリに移動し、次のコマンドを実行してください。環境名は自由に決めることができます。ここでは env としました。sourceコマンドは環境名に応じて実行してください。
1 2 3 4 5 6 7 |
$ cd project ←作業ディレクトリに移動 $ pyenv local 3.11.6 ←作業ディレクトリ以下では3.11.6が動作するようになります。 $ python3 -V ←バージョンを確認 Python 3.11.6 $ virtualenv -p python3.11 env ←3.9の上に仮想環境を作ります。マイナーバージョンは省略できます。 $ source env/bin/activate (env) $ |
この状態で pip3 コマンドを使ってライブラリをインストールすると、この環境にだけインストールされ、他の環境には影響を及ぼしません。
各種ライブラリのインストール
試しによく使うライブラリをインストールしてみます。必要に応じて実行してください。
numpy
1 |
(env) $ pip3 install numpy |
pandas
1 |
(env) $ pip3 install pandas |
scikit-learn
1 |
(env) $ pip3 install scikit-learn |
matplotlib
1 |
(env) $ pip3 install matplotlib |
Django
よく使うのは以上だと思います。筆者はDjangoを触っているので引き続き試してみます。
1 |
(env) $ pip3 install django |
Django 4.0.5 が入りました。
その他 Django 関連
1 2 3 4 5 6 7 8 9 |
(env) $ pip3 install django-rest-framework (env) $ pip3 install django-filter (env) $ pip3 install django-bootstrap4 (env) $ pip3 install django-crispy-forms (env) $ pip3 install django-environ (env) $ pip3 install django-allauth (env) $ pip3 install django-rest-auth (env) $ pip3 install mysqlclient (env) $ pip3 install djangorestframework-simplejwt |
実はAWSにDjangoをデプロイするときにSQLite3との不整合があってPython3.8を諦めた経緯がありました。(参考) 現在はSQLite3ではなくAWSのRDSを使用しているのでこの問題を回避できています。
コメント