M1 MacbookPro「M1チップ対応」Python開発環境の構築

MacBookPro設定

 長らくお待たせしました。いよいよ、M1 MacbookPro の M1チップに完全に対応した、Python 開発環境の構築を行いたいと思います。今回は、下記の動画を参考にしながら環境構築を行い、その過程をブログの記事にしました。

 参考動画: M1 Mac に Python インストールして開発環境構築してみたオサミーさん)
 参考HP: 動画の資料

環境構築のポイント

 環境構築の際は、以下に示すような違いに注意が必要だそうです。

M1 Mac と Intel Mac

・Python2系と Python3系
 【確認コマンド】 which python3 / python3 -V

・Python 仮想環境(venv, virtualenv, anaconda, miniconda, miniforge

・Rosseta 上と ARMアーキテクチャ上の動作
 【確認コマンド】 uname -m
 【切替コマンド】 $ arch -x86_64 zsh / $ arch -arm64 zsh

Mac の環境

「動画」の環境「私」の環境
Macbook Air (M1,2020)
16GB
Big Sur v.11.1
Macbook Pro (M1,2020)
16GB
Big Sur v.11.4
python3 Python 3.8.2
/usr/bin/python3
python3 Python 3.8.5
/Users/user/anaconda3/bin/python3
conda not installedconda v.4.9.2 installed
※ 私の環境の場合、既に存在する、anaconda3 による conda環境を閉じて(deactivate)から、作業を行う必要があります。

miniforge で conda をインストール

miniforge のダウンロードhttps://github.com/conda-forge/miniforge
OS X arm64(apple silicon) Miniforge3-MacOSX-arm64
現在の conda 環境の停止(base) % conda deactivate(必要に応じて)
miniforge のインストール% cd ~/Downloads
% bash Miniforge3-MacOSX-arm64.sh
.zshrc の読込による
conda 環境の構築
 
% cd ~
% source ~/.zshrc 【重要】ページの最後で解説
% cp .zshrc zshrc-miniforge3 ⏪ 必ず実行しておく
conda 環境の停止(base) % conda deactivate
new_env の作成% conda create -n new_env python=3.9
new_env の起動% conda activate new_env
インストール済み
パッケージの確認
(new_env) % conda list
conda 環境の確認(new_env) % conda deactivate
% conda info -e
※ 環境名である「new_env」は、自由に決めることが可能です。

conda で WEBアプリ開発環境の構築



webapp_env の構築
(new_env) % conda deactivate(必要に応じて)
% cd ~
% conda create -n webapp_env python=3.9
webapp_env の起動% conda activate webapp_env
django のインストール(webapp_env) % conda install django
インストール状況の確認

(webapp_env) % which django-admin
→ ~/miniforge3/envs/webapp_env/bin/django-admin
(webapp_env) % conda list

[ローカル]
WEBサーバの構築
(webapp_env) % mkdir py_pro(作業ディレクトリ)
(webapp_env) % cd py_pro
(webapp_env) % django-admin startproject helloworld
WEBサーバの起動(webapp_env) % cd helloworld
(webapp_env) % python manage.py migrate
(webapp_env) % python manage.py runserver
WEBサーバの起動確認http://127.0.0.1:8000/ にアクセス
2回目以降% conda activate webapp_env
(webapp_env) % cd py_pro/helloworld
(webapp_env) % python manage.py migrate
(webapp_env) % python manage.py runserver

numpy や pandas を使うデータ分析環境の構築



ds_env の構築
(webapp_env) % conda deactivate(必要に応じて)
% cd ~
% conda create -n ds_env python=3.9
ds_env の起動% conda activate ds_env


jupyter のインストール
(ds_env) % mkdir ds_pro(作業ディレクトリ)
(ds_env) % cd ds_pro
(ds_env) % conda install jupyter


または⏬
ライブラリの
インストール
(ds_env) % conda install numpy
(ds_env) % conda install pandas
(ds_env) % conda install matplotlib
行列計算
データ構造演算
グラフ描画
ライブラリの検索
インストール例
 
https://anaconda.org/search
(ds_env) % conda install -c conda-forge opencv
(ds_env) % conda install -c conda-forge jupyterlab
ブラウズ
 
⏪ええよ!
jupyter の起動(ds_env) % jupyter notebook or jupyter lab
2回目以降は青字のみを実行

TensorFlow を使った深層学習の開発環境の構築

事前準備 必要かどうか分かりませんが
Xcodeツールの
ダウンロード
インストール
https://developer.apple.com/download/all/ より
Command Line Tools for Xcode 12.5 を選択
ダウンロードファイルを開いてインストール
pipのupdatehttps://bootstrap.pypa.io/get-pip.py を入手
python get-pip.py
pip – -version → 21.1.2(当時)
環境確認

(base) % conda deactivate
% python3 -V → Python 3.8.2
% which python3 → /usr/bin/python3
←ここから

TensorFlowの
コピー
% cd ~
% git clone https://github.com/apple/tensorflow_macos.git
 
ダウンロード
インストール
% cd tensorflow_macos/scripts
% bash download_and_install.sh

警告表示
仮想環境の
起動
% cd ~
% . tensorflow_macos_venv/bin/activate(動画)
% source tensorflow_macos_venv/bin/activate

. を忘れずに
または
Python起動(tensor~venv) % python3command
mode開始
動作確認>>> import tensorflow as tf
>>> tf.__version__
>>> from tensorflow import keras
>>> keras.__version__
>>> exit()
 ( ctrl-D でも終了可能)
インポート
ver.確認
インポート
ver.確認
終了
 
ライブラリの
確認
% pip freeze | grep tensor必要なら
2回目以降は青字のみを実行

keras で mnist を使って画像認識(深層学習)

作業場所の作成% cd ~
% mkdir dl_pro
% cd dl_pro
ファイルの作成% touch simple_mnist_convnet.py
プログラムをコピペhttps://keras.io/examples/vision/mnist_convnet/
プログラムの実行% python simple_mnist_convnet.py

補足説明【重要】

 ここでは、全体を通じて、大切な事柄について補足説明をします。

 実は、私自身が時間をおいて、このブログを見ながら設定を行ったところ、上手く動作しませんでした。それは、動画の通りにやっていただけで、基本的なことを理解していなかったためです。その時に必要だった事柄を書いておきます。ただし、これは、最後の「Tensorflow/Keras」の内容には関係がありません。

<ポイント> anaconda3 などの conda による、他の仮想環境を構築していた人が対象です
       対象外の人も、conda の命令表を最後に示してありますので参考にしてください。

 さて、今回の環境構築は、「conda」という命令を使います。これにより仮想環境を構築します。そして、今回インストールする「Miniforge3」も、私が以前にインストールしていた「Anaconda3」も、同じ「conda」を使います。従って、これらを、明示的に切り替える必要があります。

 そこで重要なのが、その両者をどのように切り替えるかです。実は、ターミナルを起動すると、自動的に、「Anaconda3ベース」の環境になってしまいます。従って、「conda create」や「conda activate」を実行すると、「Anaconda3」の仮想環境が作られたり起動されます。

 そこで、「Miniforge3ベース」に切り替えるために、「source ファイル」という命令を用います。ここで、「source」の後に指定する「ファイル」が環境を決定します。今回の場合は、隠しファイルの「.zshrc」がそのファイルになります。そして、このファイルは、「bash Miniforge3-MacOSX-arm64.sh」を実行した直後に作られるものでなければなりません。

 従って、「bash 〜」を実行後すぐに、「.zshrc」を別なファイルにコピーする必要があります。私の場合は、「zshrc-miniforge3」にコピーしました。

 そして、2回目以降既に設定した仮想環境を使う場合、ターミナルを起動して、必要に応じて「conda deactivate」で、現在の仮想環境を終了させます。それから、

source zshrc-miniforge3

を実行して、「Miniforge3ベース」の「conda」に切り替える必要があります。そして再度「conda deactivate」を実行して、設定のための環境を閉じます。その後に、本当に必要な環境を呼び出したり、新たに環境を作成したりしてください。この作業の過程で、現在使用中の環境が分かる「conda info -e」をこまめに使うことをお勧めします。

 最後に、「conda」命令の使い方を紹介して、補足説明を終わりにします。

やりたいこと命令使用例
新しい仮想環境を構築するconda create conda create -n new_env python=3.9
既に構築した仮想環境を起動するconda activateconda activate new_env
起動した仮想環境を終了するconda deactivateconda deactivate
構築した仮想環境を削除するconda removeconda remove -n new_env – -all
ライブラリをインストールするconda installconda install numpy
構築した仮想環境の情報を表示するconda infoconda info -e
おすすめは、要所要所で、「conda info -e」を実行して、現在の状況を確認してください!

コメント

タイトルとURLをコピーしました