5
7

More than 1 year has passed since last update.

M1 Macで機械学習するためのPython環境構築

Last updated at Posted at 2022-12-21

はじめに

突然ですが、皆さんはPythonの実行環境は何を使っていますか?

Anaconda?venv?色々ありますよね。

自分はMiniforgeを現在使用しています。あくまで個人の意見ですが、M1 macで機械学習をするならMiniforgeを使うのがベストプラクティスだと思います。ということで、この記事ではMiniforgeの環境構築の手順を書いていきます。ぜひ参考にしてみてください。

Miniforgeについて

Miniforgeとは、パッケージ管理システムのcondaをconda-forgeリポジトリで利用するためのツールです。

特徴として、M1 Macを含むマルチプラットフォームに対応していることが挙げられます。
現状、多くのライブラリにおいてM1 macに簡単にインストールするための唯一の手段となっています。

Pythonで機械学習をしていると必ず出会う、Tensorflowというライブラリがありますね。
私はTensorflowをanacondaにインストールしようとして沼りました。**m1 mac上のanacondaではtensorflowが使用できなかったのです。**なんてこった。

なぜMiniforgeがm1 macで機械学習をするのに優れているのか理解できましたでしょうか。
一言で言ってしまえばTensorflowが簡単に導入できるからです。(Transformerとかもね。)

早速Miniforgeの環境構築の手順について解説していきます。

Miniforge環境構築

Python本体のインストール確認

macにはPython自体はデフォルトでインストールされています。
デフォルトのPython以外は消してしまうことが望ましいです。

(私もいろいろな実行環境が混在していて大変なことになっていました…笑)

パスを確認しましょう。以下のコマンドを打ち、返ってきたパスが/user/bin/python3であればデフォルトのPythonにパスが通っているのでOKです。

which python3

Homebrewをインストールしている方、多いと思います。
HomebrewにもPythonが存在している可能性があるので確認しましょう。

以下のコマンドでHomebrewのインストールパッケージ一覧を表示させ、Pythonが表示しないことを確認します。

brew list

Miniforgeのインストール

Pythonが他に存在しないことを確認したら、早速Miniforgeをインストールしていきましょう。

1. Minifogeをダウンロード

MiniforgeのGitHubページへアクセスし、以下のMiniforge3-MacOSX-arm64をダウンロードしてください。

スクリーンショット 2022-12-04 14.03.04.png

(pypy, Mambaとか言うのもありますが一旦無視で。高速化を目的としたやつららしいです。知らんけど。)

2. ダウンロードファイルを実行

ターミナルからダウンロードフォルダへ移動し、ダウンロードしたMiniforge3-MacOSX-arm64.shを実行しましょう。

cd downloads
bach Miniforge3-MacOSX-arm64.sh

色々聞かれますが、Enterかyesをポチポチすれば大丈夫です。

3. condaを有効化する

インストール完了後、シェルを開き直し、以下のコマンドでcondaを有効化します。

conda activate

(base)と表示された方は成功です。**4(仮想環境を作る)**に進みましょう。

zsh: command not found: condaと表示され、実行できない方はPATHが通っているか確認していきましょう。

設定ファイル(.zshrc)を確認しましょう。ホームディレクトリから.zshrcを開きます。

cd ~
open .zshrc

このようなテキストが表示されましたか?表示されていなければ、PATHがファイルに記入されていないので記入しましょう。[名前]と書いてある部分は自身のMacユーザー名を入力しましょう。

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/名前/miniforge3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/名前/miniforge3/etc/profile.d/conda.sh" ]; then
        . "/Users/名前/miniforge3/etc/profile.d/conda.sh"
    else
        export PATH="/Users/名前/miniforge3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

これでもconda activateができない?zshが起動済みで変更内容が反映されていないのかも知れません。

実行中のzshに編集内容を反映させたい場合はsourceコマンドを使いましょう。

sourceはファイルからコマンドを読み込んで現在のシェルで実行するコマンドです。

以下のコマンドを実行してみましょう

source ~/miniforge3/bin/activate

(base)と表示されたのではないでしょうか?表示されていないのであれば、minifoge3というファイルがホームディレクトリにない可能性があります。場所を探してみましょう。

4. 仮想環境を作る

仮想環境を作りましょう。今はデフォルトの(base)を有効化していますが、以下のコマンドで一旦有効化を止めましょう。(base)が表示されなくなればOKです。

conda deactivate

tryという環境をつくって見ましょう。以下のコマンドを叩きましょう

conda create -name try python=3.9

処理が終わったらtryを有効化してみましょう

conda activate

(try)と表示されましたか?表示されたら成功です。**5(ライブラリをインストール)**へいきましょう。

表示されていない?こんなエラーが出ているのではないでしょうか?

Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - try

Current channels:

  - https://conda.anaconda.org/conda-forge/osx-arm64
  - https://conda.anaconda.org/conda-forge/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

これ(PackagesNotFoundError)はtryという環境を作成するためのリポジトリが見つからないと言われています。

はじめの方に記述しましたが、Miniforgeはcondaをconda-forgeリポジトリで利用するためのツールです。conda-forgeリポジトリが見つからないと言われている訳ですね。

指定して実行してあげましょう。

$ conda create -n try -c conda-forge python=3.9

これで行けたんじゃないでしょうか。

長かったですが、これでMiniforgeの環境構築は終了です!
後は必要なライブラリをインストールしていきましょう!

5. ライブラリをインストール

では作成した環境にライブラリを入れていきましょう。
とりあえず(try)で進めていきますが、好きに仮想環境を作ってください。

tryを有効化しましょう

conda activate try

(try)が出たらライブラリをインストールしましょう。とりあえずnumpyを入れます。

conda install numpy

これで入ると思います。

他のライブラリを入れる場合も大抵は同様の感じで行けると思います。

Tensorflowのインストールはちょっと特殊なので書いておきます。

conda install -c apple tensorflow-deps -y
python -m pip install tensorflow-macos
python -m pip install tensorflow-metal

以上です。

まとめ

Miniforgeの環境構築はできましたか?

M1 macでごりごり機械学習していきましょう!!

参考記事

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7