アラサーOL|python環境構築入門(python3.9をM1 Macにインストールしよう!)

アラサーOLのためのpython入門講座
M1チップに最適化されたpython環境を構築します!

Ciao!みなさんこんにちは!このブログでは主に
(1)pythonデータ解析,
(2)DTM音楽作成,
(3)お料理,
(4)博士転職
の4つのトピックについて発信しています。

今回は「アラサーOLのためのpython入門講座」です!
この講座では、プログラミング初心者アラサーOLのMi坊さんに、pythonを学習する上でのアドバイスを行います!
パソコンもプログラミングも初心者だけど、プログラミングができるようになりたい!」という方のためにstep-by-stepで解説していきます。

今日はpythonを始める前の準備として、pythonプログラミングための「環境構築」を行います。
pythonをパソコン上で動かすためにインストールし、「仮想環境」と呼ばれるpython用の作業場を作ります。
音楽活動でいうスタジオの設営ぐらいの感じで捉えてください!

この記事では、M1チップ搭載のMacにおける環境構築の方法をお伝えします!
これまでのIntelチップのMacとM1チップ搭載のMacでは方法が異なります。
アラサーOLのMi坊さん、プログラミングを学ぶべくM1チップ搭載のMacBookを購入したそうです。
Mi坊さんをはじめ、M1チップ搭載のMacでpythonをお使いになる方にはこの準備が必要です。

今日のゴールはM1 Macでpythonを使えるように環境を整えることです!
一つ一つ説明しますので、一緒にやってみましょう!

Kaiko
Kaiko

この記事はこんな人におすすめ

  • 初心者だけどpythonを始めたい!
  • M1 Macでpythonを使いたい!

Abstract | miniforgeでpythonの環境構築をしよう

M1 Macではminiforge(厳密にはminiforge3)というソフトを利用してpythonの環境構築を行うことができます。
pythonではライブラリと呼ばれる機能を追加することで高度な分析を簡単に実現することができます。
ライブラリはたくさんあるため、ライブラリのインストールとインストールしたライブラリの管理のためのソフトウェアが必要になります。
この記事では、miniforgeというM1 Macに対応したpythonのライブラリ管理ソフトを使って環境構築する方法をご紹介します!
ターミナル操作が必要になりますが、それも一つ一つ解説しますので最後までお付き合いください!



Background | pythonのライブラリとその管理

pythonでは、ライブラリと呼ばれる機能を利用して高度な処理を行います。
逆にライブラリを使わないとほとんど何もできないと言ってもいいでしょう。
音楽で例えるなら、python本体は音楽を演奏するバンド、ライブラリは楽器などの機材です。
楽器がなければ音楽を作ることはできないですよね(アカペラはともかくも)。

pythonと環境構築

ライブラリを使えるようにするために「仮想環境の構築」という作業を行う必要があります。
こちらも音楽で例えるなら、音楽スタジオを用意して楽器や機材を搬入して保管する場所を作るようなイメージです。
バンドがいても楽器があっても演奏する場所を用意しなければ音楽はできません。
このイメージで環境構築が必要な理由をわかっていただけるのではないでしょうか?

pythonのライブラリはダウンロード&importして使う

ライブラリには標準ライブラリと外部ライブラリがあり、前者はpythonをインストールした時点でインストールされている一方、後者は自分でダウンロードし”import”という操作を行う必要があります(importについては次回以降で解説しますので一旦置いておいてください)。
以下では、外部ライブラリのことを単にライブラリと呼びます。

代表的なライブラリ

代表的なライブラリには以下のようなものがあります。

  • numpy: 配列処理などに対応した高速計算ライブラリ
  • scipy: 数値積分、最小化などの科学計算ライブラリ
  • pandas: 表形式など2次元配列のデータ処理が得意なライブラリ
  • matplotlib: 図を描画するライブラリ

これらは本ブログのこれまでのデータサイエンス記事(こちら)のpythonのサンプルコードでも頻出のライブラリです!
他にも様々なライブラリを活用しますので、ダウンロードやimport、管理の方法を知っておく必要があります。

pythonのライブラリ管理の必要性

pythonを使ったデータ解析では、どのライブラリを使っているのか、どのバージョンのライブラリなのかといったことを管理する必要があります。
python本体だけでなく、ライブラリも日々アップデートされています。
ライブラリがアップデートされると、使い方が変わったり、新しい機能が追加されたりします。
そのため、意図せずライブラリがアップデートされると、以前使っていたコードが動かなくなるなどの不具合が発生します。
このような不具合を防ぐために、ライブラリの種類とバージョンを管理する必要があります。

M1 Mac対応のpythonライブラリ管理 | miniforge

ライブラリの管理は、自動で管理してくれるソフトにやってもらいます。
M1 Macではminiforgeと呼ばれるソフトを利用します。
miniforgeでpython本体をインストールし、必要なライブラリを追加でダウンロードすることが簡単にできます!
miniforgeの説明は割愛しますので、興味のある方は外部サイト「M1 MacにPythonインストールして開発環境構築してみた」などを参考に調べてみてください。

今回の記事では、miniforgeのインストールからpython(python 3.9)のインストール、ライブラリのインストールまで、方法を一つずつご説明します!

M1 Macとpython 3.9

M1 MacはこれまでのIntel Macとは、文字通り頭の構造(アーキテクチャと呼ぶらしい)が異なります。
pythonにもいくつかバージョンがあり、python 3.?という「python3系」が主流です。
M1 Macには、デフォルトでpython2がインストールされていますがpython3はインストールされていないので、今回の記事ではpython3をインストールします。
ちなみに、python2はサポートが打ち切られていますが、python2系でしか動かないライブラリがあるなどたまに必要になります。
python3.9だけがM1 Macをサポートしている(2021年5月時点)ので、こちらを使います。
python 3.8以前もM1 Macで利用可能ですが、Rosettaという「M1 MacがIntel Macの真似をする」仕組みを使って動かすようです。
こちらも興味のある方は外部サイト「M1 MacにPythonインストールして開発環境構築してみた」などを参考に調べてみてください。

ターミナルを操作して環境構築します

今回の操作には、前回のアラサーOL記事(「アラサーOL|ターミナル操作入門(pythonを学び始める前に1)」)でご紹介した「ターミナル」を使います!
ターミナルの操作に自信がない方は前回の記事も参照しながらやってみてください!



Contents | M1 Macでpythonの環境構築!

では実際に環境構築の作業をしてみましょう!

  • miniforgeのインストール(python 3のインストール)
  • miniforgeを用いたライブラリのインストール

の順番でやっていきます。
インターネットに繋がった状態で操作してくださいね!

miniforgeのインストール

まずはminiforgeをインストールします。

miniforgeのinstallerのダウンロード

miniforgeをパソコンにインストールするためのinstallerをダウンロードします。

GitHubにアクセス

Googleで”miniforge”と検索するか以下のリンクからGithubのminiforgeのサイト(下図1)に飛びます。
https://github.com/conda-forge/miniforge

図1. GitHubのminiforgeのページ
installerをダウンロード

GitHubのサイトを下の方にスクロールすると、”Download”というセクションがあるので見つけてください(下図2)。

図2. miniforge installerのダウンロードセクション

ここにある

OS Xarm64 (Apple Silicon) (**)Miniforge3-MacOSX-arm64

というのがM1 Mac用のinstallerです。M1チップのことをApple Siliconと呼ぶことがあります。
「Miniforge3-MacOSX-arm64」というところをクリックしてダウンロードしてください。

miniforge installerの実行

ダウンロードしたinstallerを実行します。
まずはターミナルを開いてください。

ターミナルを開いたらinstallerが格納されているディレクトリに移動します。
通常はホーム直下のDownloadに格納されていると思います。

cd ~/Downloads

lsでMiniforge3-MacOSX-arm64.shが発見できればOKです。

ls

発見できたらbashコマンドで実行します。
以下のようにします。

bash Miniforge3-MacOSX-arm64.sh

実行すると、

In order to continue the installation process, please review the license agreement.
Please, press ENTER to continue
>>> 

というメッセージが表示されるのでEnterを押します。
Enterを押すとlicense agreementが表示されるので、’q’を押してで表示をやめるかスペースキーで最後までスクロールします。

Do you accept the license terms? [yes|no]

と聞かれるので、’yes’と入力してEnterを押します。
すると

Miniforge3 will now be installed into this location:
 /Users/kaiko/miniforge3
 Press ENTER to confirm the location
 Press CTRL-C to abort the installation
 Or specify a different location below 
 [/Users/kaiko/miniforge3] >>> 

といった内容が表示されます。
このままEnterを押せば、miniforgeに必要なファイルが’/Users/kaiko/miniforge3’に格納されてインストールされます。
別のディレクトリを指定したい場合には、指定するディレクトリを入力してEnterを押しましょう。
通常はデフォルトで構わないので何も入力せずにEnterで良いでしょう。

インストールが進むと、最後に

Do you wish the installer to initialize Miniforge3 by running conda init? [yes|no]
>>>

と聞かれるので、”yes”と入力してEnterしてください。
この操作をすると、~/.zshrcにcondaというコマンドが定義され、ターミナルで使えるようになります。

インストールが終わったら、ターミナルで

source ~/.zshrc

を実行します。
これで~/.zshrcに定義されたコマンドが読み込まれて使えるようになります。
ちなみに、以降はターミナルを立ち上げる度に~/.zshrcが自動で読み込まれますので、いちいちsourceコマンドを実行する必要はありません(詳しくは「Tips | 基本プログラミング用語一覧(随時更新)」の~/.bashrc、~/.zshrcを参照)。

ここまでの作業を行うと、コマンドラインの頭に

(base) kaiko ~ % 

のように(base)が付いているはずです。こうなっていればminiforgeのインストールができています。
これで”base”という名前のpythonの仮想環境が構築できました。

試しに、

conda -V

と実行してみてください。エラーが出ずに、”conda 4.10.1″のような文字列が返ってくれば問題なくminiforgeがインストールされています。

python --version

を実行すると、”Python 3.9.2″のような文字列が返ってきます。Python 3.9以降になっているはずです。



追加で仮想環境を構築したいとき(任意)

miniforgeを使って仮想環境を追加することができます。
最初は仮想環境を追加する必要はないので、読み飛ばして構いません。

仮想環境の追加 | conda create

“conda create”というコマンドを使います。

conda create -n py39 python=3.9

とすると、baseとは別の”py39″という名前の仮想環境が作成されます。
「-n py39」の部分で名前を指定しています。
上記を実行すると、「Proceed ([y]/n)?」と聞かれるのでyとしてください。

上記ではpython3.9を追加しましたが、python3.8なども可能です。
たとえば

conda create -n py38 python=3.8

とすれば、python3.8の仮想環境を用意できます。
ただし、2021年5月現在、miniforge3ではpython3.7以前の仮想環境は構築できないようです。

py39にはbaseとは独立にライブラリをインストールすることができます。
音楽で例えるなら、別のスタジオを作ったと考えてください。
py39とbaseには別々の楽器セットを配置することができるということです。
ロックのスタジオをJazzのスタジオ、クラシックのスタジオは使用する楽器も異なるので分けたいですよね?
プログラミングでも目的によって仮想環境を別々に用意しておきたいことがあります。
そのような場合にはconda createで仮想環境を追加します。

仮想環境の確認 | conda info

利用できる仮想環境はconda infoというコマンドで確認できます。

conda info -e

を実行すると、

 # conda environments:
 #
 base                  *  /Users/kaiko/miniforge3
 py38                     /Users/kaiko/miniforge3/envs/py38
 py39                     /Users/kaiko/miniforge3/envs/py39

などと表示されます。アスタリスクがついているのが、現在使っている仮想環境です。

仮想環境の切り替え(有効化) | conda activate

別の仮想環境を使いたいときには、目的の仮想環境を有効化します。
たとえば、py38を使うなら

conda activate py38

などとします。
するとコマンドラインの先頭に

(py38) kaiko ~ % 

のように(py38)という仮想環境名が表示されます。

python --version

を実行すれば、”Python 3.8.10″のようにpython3.8が返ってきます。

ちなみに、有効化したい仮想環境名を指定せずに

conda activate

とするとbaseが有効化されます。

仮想環境の無効化 | conda deactivate

自分で構築した仮想環境ではなくパソコンにデフォルトで入っているpython(おそらくpython2系)を使いたい場合などは、仮想環境を無効化することができます。
baseの仮想環境にいるときに

conda deactivate

を行うと、コマンドラインの頭の(base)表示が消え、無効化されます。
base以外の仮想環境にいるときにconda deactivateを行うと、baseがすでに有効化されていればbaseに戻ります。
conda deactivateを1回やっただけで仮想環境が無効化されない場合は2回実行してみてください。

py38 → base → なし

のように仮想環境から完全に離脱することができます。
復帰する場合は”conda activate”です。

仮想環境の自動有効化の解除

頭に(base)とつくのがうっとおしければ、

conda config --set auto_activate_base false

とすれば、新たにターミナルを開いた時にbaseの仮想環境が自動で立ち上がることがなくなります。
これでコマンドラインの頭に(base)がつくことはなくなります。
しかし、これをやるとpythonを使う時にいちいち

conda activate

を実行して仮想環境を手動で立ち上げる必要があります。
試しに、conda deactivateを実行し、頭に(base)などの仮想環境表示が付いていない状態で

python --version

をやってみてください。
パソコンにデフォルトで入っているpython、おそらく”Python 2.7.16″のようなpython2系が返ってくるはずです。

もし、auto_activate_baseをfalseにして仮想環境の自動有効化を解除してしまったけど、仮想環境の自動有効化を有効にしたい場合には、

conda config --set auto_activate_base true

を実行してauto_activate_baseをtrueにしてください。



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

仮想環境にライブラリをインストールしてみましょう。

インストール済みライブラリの確認 | conda list

まずはインストール済みのライブラリを確認してみましょう。

conda list

を実行してみてください。インストール済みライブラリが以下のように表示されます。

 # packages in environment at /Users/kaiko/miniforge3:
 #
 Name                    Version                   Build  Channel
 brotlipy                  0.7.0           ...... 
 ...
 ...

このように、自分で入れなくてもいくつかのライブラリはminiforgeをインストールしたときに入っています。

ライブラリの追加 | conda install

ライブラリを追加してみましょう。
ライブラリの追加は”conda install”で行います。
まずはjupyterというライブラリを入れてみましょう。
このライブラリを使うと、jupyter notebookという機能を使ってWebブラウザ上でインタラクティブにコーディングと実行が行えるようになります。

conda install jupyter

を実行してみましょう。
jupyterに必要な関連するパッケージがたくさん表示され、Proceed ([y]/n)?と聞かれますのでyと答えます。
しばらくするとインストールが完了します。

他にもよく使うライブラリを追加しておきましょう。
ひとまず

  • numpy
  • scipy
  • pandas
  • scikit-learn
  • matplotlib

あたりを入れておきましょう。

conda install numpy scipy pandas scikit-learn matplotlib

を実行してみましょう。
必要なパッケージがたくさん表示され、Proceed ([y]/n)?と聞かれますのでyと答えます。
しばらくするとインストールが完了します。

今回はこれだけインストールできればOKです!
他にライブラリが必要になったら上記の手順で適宜追加してください!



Conclusion | まとめ

最後までご覧いただきありがとうございます!
M1 Macでpythonの環境構築をする方法をご紹介しました!

miniforgeを使って環境構築することでライブラリの追加や管理が簡単に行えるようになります!
データ分析をはじめ、本格的にpythonプログラミングを行う上で必ず必要な作業です。
ターミナルの操作やライブラリの仕組みに慣れるまでは大変かもしれませんが、なんとか乗り越えてください!
環境構築を一度やってしまえばあとはスイスイです(「最初が大変であとは簡単」というのはプログラミングあるあるです)!

以上、「アラサーOL|python環境構築入門(python3.9をM1 Macにインストールしよう!)」でした!
またお会いしましょう!Ciao!



References | 参考

以下のサイトを参考にしました!作成者、運営者のみなさまに感謝いたします。

コメント

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