👶

【Apple Silicon編】Python ~インストールから環境構築まで~

2023/11/03に公開

※この記事ではMac OSを使用していることを前提にして、Pythonインストール方法を記載しています。

Pythonのインストールから環境構築までをまとめてみた

PCを買い替える度に色んなサイトを訪問して、その度に1から理解し直すのが面倒なので自分なりに理解・言語化したものを備忘録としてまとめました。参考にさせて頂きましたページなどは最後に参考文献として記載しております。

0.環境構築の際に使用するアプリの説明

・ターミナル

コマンドを打ち込むためのアプリ。元からデフォルトでインストールされている。Launchpad⇨その他⇨ターミナルの順で探せば出てくるので、アプリを開いたらショートカットバーに入れておくことがオススメ。

1.Homebrewのインストール

Homebrewというのは簡単に言うと、Pythonなどのソフトのインストールを簡易化してくれるソフトだと思ってください。Macの場合はこれを使って環境構築されている例がネット上でも非常に多いので、この記事でもHomebrewのインストールから行うことにします。

こちらのサイトにもあるようにHomebrewの公式サイトにアクセスしないとセキュリティ的な危険に晒されます。以下にHomebrewの公式サイトへのリンクが貼ってありますが、必ずサイトのurlが「brew.sh」になっていることを確認しましょう。このurl以外は公式サイトではないので注意が必要です。(2023/11/3時点)

まずはHomebrewの公式サイトにアクセスしましょう。⇨Homebrew公式サイト
そしたら、公式サイト内にあるコマンド

input
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

をそのままターミナルに入力します(これの処理は完了するまで結構時間かかります)。実行が完了すると

output
==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/******/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
- Run `brew help` to get started

⇧上記のようなコマンドが表示されます。これは「以下のコマンド二つを実行してください」という意味なので、一つずつコピペしてターミナルに入力→実行を行いましょう。(これら二つのコマンドはすぐに実行が完了します。)

※一つ目のコマンドにあるUsers/******/.zprofileのアスタリスク部分には自分のユーザーネームが入っているはずです。

これら二つの処理まで終わるとHomebrewのインストールは完了です。最後にターミナルで

input
brew --version

⇧こちらを入力して

output
Homebrew x.x.xx

⇧のようなoutputが返ってくればHomebrewのインストール完了となります。

2.環境構築

Homebrewのインストールが完了したら、いよいよ環境構築に移っていきます。

①PCがどのPythonを使用しているかをpathを見て確認する

環境構築を始める前にPCがどのPythonを使用しているのか確認しておきます。MacにはデフォルトでPythonが入っているので恐らくはデフォルトPythonが使用されているとは思いますが、念の為の確認です。

確認をする際にpathを参照するのですが、このpathというのは簡単に言うとPC内の住所のようなものです。デフォルトでインストールされているpythonは/usr/bin/python3の位置に入っていますので、pathを確認した時に/usr/bin/python3というoutputが返ってくればデフォルトのpythonが使用されていると判断できます。

pathを確認する場合も"ターミナル"というアプリを使用します。ターミナルを開いたら、

input
which python3

⇧こちらを入力。これで

output
/usr/bin/python3

であればデフォルトのpythonが参照されています。Homebrewのインストールを行った場合、大体はデフォルトのPythonにpathが通っているはずです。

②仮想環境を作るためのライブラリ管理ツールをインストール

Pythonというのは様々なライブラリと呼ばれる、エクセルで言うところの関数を駆使することで、様々な統計処理やプログラミング処理を実行することが出来ます。そしてこれらのライブラリを管理する際に仮想環境というものを作る必要があるんです。(ライブラリとか仮想環境とか最初はよく分からないと思うので、初めは「そういうものかぁ」でいいと思います。)

このライブラリの管理。世の中には様々なツールがあるようですがMiniforgeというツールが個人的に1番使いやすいと思ったので、Miniforgeをインストールしていきましょう。

Miniforgeはgithub上で公開されているのでこちらにアクセスしてツールをダウンロードしてきます。
⇧下にスクロールすると以下のようなダウンロード画面が出てきます。下記を参考にして自分のPCに合うMiniforgeをダウンロードしましょう。
Intel製 CPU Mac ⇨ OS X x86_64
Apple Silicon製 CPU Mac ⇨ OS X arm64 (Apple Silicon)

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

input
cd ~/Downloads
input
bash Miniforge3-MacOSX-x????.sh

⇧この二つのコマンドを入力することでMiniforgeがインストールされます。(この処理もそれなりに時間がかかる)

output
Thank you for installing Miniforge3!

⇧このようなアウトプットが返ってきたらインストール完了です。

※二つ目のコマンドの????のところには自分がダウンロードしたファイルと同じものを入力(例:Intel製CPC版をダウンロードしていたら????の箇所はx86_64となる。

※普通のアプリと違ってダウンロードしたファイルをダブルクリックしてもインストールされることはありません。なのでターミナルからインストールを実行するようにしましょう。

※途中でライセンスを確認してください的な文が表示されます。基本的にEnter, Yesを押して進んでいけば良いのですが、私の場合

output
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

が表示されたまましばらく停止していました。この時はキーをひたすら連打すると次に進んでくれましたので、ご参考までに...。

③ターミナルの再起動

ここまでの作業が完了したら分析環境の準備は完了です。ですが、このままではまだ仮想環境を構築することが出来ません。最後にターミナルを再起動して全ての準備が完了です。

ターミナルを再起動したら

input
conda activate

とコマンドを入力してみてください。おそらくターミナルの先頭に(base)という文字が現れたと思います。この状態になれば①〜③までの全ての工程が完了したことになります。この(base)を消したい場合は

input
conda deactivate

で消すことが可能です。

④Miniforgeを使って仮想環境を作成

ここまで来たら、あとは仮想環境を作成するコマンドを入力すれば終わりです。
仮想環境を作成するコマンドは

input
conda create --name **** python=3.9

アスタリスクの部分は任意で入力することができますので、仮想環境に付けたい名前を好きに入力してください。

※コマンド処理中にProceed ([y]/n)?と聞かれると思いますが、そこではyと入力すると処理が進みます。nを押すとコマンド処理がキャンセルされます。

これでPythonの実行環境の作成は終わりになります。あとはPythonを使用する度にターミナルを開いて

input
conda activate ****

これで先ほど作った仮想環境を呼び出すことが出来ますので、あとは好きにここにライブラリをインストールしてPythonを使い倒しちゃいましょう!仮想環境を出たい場合は

input
conda deactivate *****

を入力すれば仮想環境から外に出ることが出来ます!

3.作成した環境を使ってライブラリを入れたり実際に動かしてみる

さて、ではここから先ほどまで作成していた仮想環境を使って実際にライブラリをインストールしたり、インストールしたライブラリを仮想環境上で実行してみたいと思います。

試しに、jupyterとpandasをインストールして、jupyter notebook上で行列データをdataframe型のデータにトランスフォームしてみましょう。まずは、仮想環境の作成です。test1という名前の仮想環境を作ってみます。

input
conda create --name test1 python=3.9

作成が終わるとターミナル画面に(test1)という表記が出てくると思います。これが出てくると仮想環境作成が完了し、今仮想環境上でコマンドが実行されることが分かります。では、次にjupyterとpandasをインストールします。

input
conda install pandas jupyter

インストールが終わったら、早速jupyter notebookを起動してみましょう。
jupyterをインストールすれば以下コマンドを入れるだけでjupyter notebookが現在の仮想環境"test1"上で起動します。

input
jupyter notebook

それではjupyter notebookでpandsを読み込んで、リストをdataframeにしてみます。

jupyter notebook input
# ライブラリの読み込み
# (numpyは元からライブラリとしてインストールされている)
import pandas as pd
import numpy as np


# 3×2のnumpy配列を作成
test = np.arange(6).reshape(3,2)
print(test)


# 行列をDataFrameにトランスフォーム
df_test = pd.DataFrame(test)
print(df_test)
jupyter notebook output
[[0 1]
 [2 3]
 [4 5]]
   0  1
0  0  1
1  2  3
2  4  5

無事、仮想環境上でライブラリのimportからの実行まで完了しましたね!

参考文献

Qiita「【M1 Pro/Max対応】M1 Mac環境構築ベストプラクティス」https://qiita.com/c60evaporator/items/aef6cc1581d2c4676504

Lifrhacker「macOSを信用し過ぎてはダメ、実はマルウェアをインストールしているかも」
https://www.lifehacker.jp/article/219805just-because-macos-lets-you-install-an-app-doesnt-mean/

Zenn「M1 MacにPythonインストールして開発環境構築してみた」
https://zenn.dev/osuzuki/articles/380be0f682d72d

Discussion