【Mac】Apple SiliconでのPython環境構築

Apple Siliconプロセッサによって、マシン性能が劇的にアップしました。このマシン性能をPythonによる深層学習に活かしたい、ということで環境を構築したので、その備忘として残しておきたいと思います。

まず、Pythonの導入として真っ先に候補に上がるのが、Anacondaディストリビューションですが、これにはいろいろと問題があり、今回は候補から外しました。

  • 無償での商用利用はいろいろと制約が課され、面倒。
  • ファイルサイズが無駄に大きく、ストレージ容量を圧迫する

Anacondaは、condaコマンドで簡単にパッケージの管理ができるので楽なのですが、Homebrewとの相性が良くないとか、システムに深く食い込むので、システムをクリーンにできない、といった厄介さがあります。

Anacondaを使わなくとも、MinicondaやMiniforgeでパッケージ管理を行うことができます。今回はMiniforgeを使うことにしました。Miniforgeの場合、機械学習では必須のScikit-learnが問題なくインストールができるというのがわかったからというのも、Miniforgeを選択した理由です。

なお、pyenvを使ってpythonのバージョン管理をする、という記事を多く見かけますが、おすすめしません。Miniforgeで仮想環境を構築すれば済む話なので、わざわざpyenvを入れる必要がありません。むしろ、pyenvを入れることによってシステムがおかしくなってしまい、泥沼にハマってしまいますので、やめた方が良いです。私もハマってしまい、OSの再インストールする羽目になりました。

システム環境は、

  • MacBook Pro M1 Pro 2021 14 inch
  • メモリ16GB
  • ストレージ512GB
  • Ventura 13.1
目次

Homebrewのインストール

Miniforgeをインストールするために、Homebrewが必要になりますので、まずはHomebrewのインストール。

Miniforgeのインストールと仮想環境の作成

Miniforgeをインストールすることで、仮想環境の構築、condaコマンドによるパッケージ管理ができるようになりますので、Miniforgeを導入します。

各種ライブラリのインストール

機械学習を行うために必要なライブラリをインストールしていきます。

とりあえず、以下のライブラリを入れておけばよいと思います。

  • pandas(データ処理・分析)
  • Numpy(数値計算)
  • Scipy(複雑な数値計算)
  • matplotlib(データの可視化)
  • Seaborn(データの可視化)
  • Jupyter notebook(統合開発環境)
  • Scikit-learn(機械学習ライブラリ)
  • TensorFlow(深層学習フレームワーク/Google)
  • Keras(深層学習フレームワーク/Google)
  • PyTorch(深層学習フレームワーク/Facebook)
%conda install pandas

仮想環境内でこのようにコマンドを入力すれば、インストールが始まります。パッケージによっては、condaではうまくいかない場合があります(Scikit-learnはcondaではダメでしたが、pipではうまくいきました)。その場合は、pipでインストールすればうまくいく場合があるので、試してみるとよいでしょう。

%conda install scikit-learn

また、ライブラリによっては、バージョンによって動かない場合もありますので、問題がある場合には、ネットで情報を集める必要があります。これがPythonの面倒なところです。

Jupyter Notebookを入れておけば、ターミナル上で

%jupyter notebook

と入力すれば、ブラウザが立ち上がり、pythonを動かすことができます。非常に便利ですので、おすすめです。

目次