こんにちは。ナミレリです。みなさん、M1/M2のMacでPythonは使っていますか?
M1やM2などのApple Siliconを搭載したMacにAnacondaをインストールする方法を紹介します。Anaconda環境の構築はいろいろありますが、今回はpyenvでAnacondaをインストールしていきます。
この記事はこんな人にオススメ
- M1/M2のMacでAnacondaは使えるの?
- Anaconda以外にも複数のPythonのバージョンを使いたい
- M1/M2のMacでAnacondaを手軽に使ってみたい
- M2 MacBook Air 13.6 インチ
- macOS Ventura 13.1
- pyenv 2.3.9
- anaconda3-2022.10
目次
経緯
普段はpyenvとminiforgeで環境構築をしています。miniforgeは「Python + conda + 最小限のパッケージ」からなるディストリビューションでインストールされるパッケージは必要最小限なところが気に入っている点と、Apple Silicon(M1やM2)のMacのサポートに重点を置いている点が気に入っています。なお、デフォルトのリポジトリはconda-forgeに設定されています。
2020年11月にM1のMacが発売されましたが、Apple Siliconへの対応が早かったのがminiforgeでした。M1 MacでPython環境を構築する選択肢としてminiforgeしかありませんでした。
2022年5月にAnacondaはこのリリースにある通りM1 MacのネイティブARM64をサポートすると発表しました。2022年12月現在でpyenv install --listを見るとanaconda3-2022.10があるので、Apple SiliconのMacで試してみようと思いました。もちろん個人かつ非商用目的による趣味の範囲での使用です。
Anacondaのライセンス
Anacondaのラインセンスには注意が必要です。
個人利用でかつ商用目的でなければ問題ないのと、Anacondaの公式リポジトリを利用しなければ問題なさそうです。どのリポジトリを利用すればOKなのかが重要になりますが、conda-forgeに設定しておけば問題ななさそうです。
ライセンスについて下の記事でわかりやすくまとめていただいており参考にさせていただきました。
勉強や趣味の個人利用でAnacondaを使い(非商用利用)、その場合でもリポジトリをconda-forgeに設定変更しておけばまったく問題はないです。
Anacondaを使わない選択肢
前述のライセンスの問題もありますので、商用で利用する場合はAnacondaを使わずminicondaやminiforgeを使うという選択肢もあり。minicondaの場合はリポジトリをconda-forgeに設定する必要はあります。miniforgeのリポジトリはデフォルトでconda-forgeに設定されています。
jupyter labを使いたい場合はconda-forgeのリポジトリからcondaコマンドで簡単にインストールできます。例えば下記のコマンドで仮想環境「jupyterlab」にインストールすればすぐに使えます。
miniforgeがインストールされている状態でjupyterlabをインストールする例
conda create -n jupyterlab
conda activate jupyterlab
conda install jupyterlab
jupyter-labで起動します。
jupyter-lab
pandasやnumpyなどの必要なパッケージは個別にインストールする必要がありますが、何の問題もなくcondaでインストールできるのでminicondaやminiforgeを使う選択肢も良いと思います。
Anacondaのインストール
それではM1/M2のApple SiliconのMacにpyenvでanacondaをインストールします。brewなどでpyenvがインストールされていることが前提です。
pyenvでanaconda3-2022.05のインストール
pyenvのバージョンを以下のコマンドで確認しておきます。
pyenv --version
pyenv 2.3.8
2022年12月現在で最新のanaconda3-2022.05をインストールします。
pyenv install anaconda3-2022.05
・・・
Installing Anaconda3-2022.05-MacOSX-arm64...
Installed Anaconda3-2022.05-MacOSX-arm64 to /Users/u/.pyenv/versions/anaconda3-2022.05
・・・
~/.pyenv/versions/anaconda3-2022.05にインストールされました。
anacondaの初期設定
pyenv globalでanacondaを指定し、conda init zshで初期化を行います。
pyenv global anaconda3-2022.05
conda init zsh
・・・
modified /home/u/.zshrc
==> For changes to take effect, close and re-open your current shell. <==
source ~/.zshrc
pyenv versionsで有効になっていることを確認します。
pyenv versions
system
* anaconda3-2022.05 (set by /Users/u/.pyenv/version)
リポジトリをconda-forgeに設定する
まずは、conda-forgeのチャンネルを下のコマンドで追加します。
conda config --add channels conda-forge
~/.condarcに反映されたことを確認します。(defaultsチャンネルが残っている)
cat ~/.condarc
channels:
- conda-forge
- defaults
conda config --show channelsでも確認します。(defaultsチャンネルが残っている)
conda config --show channels
channels:
- conda-forge
- defaults
残っていたdefaultsチャンネルを削除して、チャンネルを確認します。
conda config --remove channels defaults
conda config --show channels
channels:
- conda-forge
~/.condarcからもdefaultsチャンネルは削除されています。
cat ~/.condarc
channels:
- conda-forge
condaのアップデート、パッケージのアップデート
続いてconda update condaでcondaをアップデートしておきます。この時にダウンロードするリポジトリがconda-forgeであることを目視しておきましょう。
conda update conda
・・・
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
conda update --allでインストール済パッケージのアップデートをしておきます。同じくダウンロードするリポジトリがconda-forgeであることを目視しておきましょう。
conda update --all
・・・
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
conda update -n base --all
pythonのアップデート(python 3.12.2へアップデート)
conda install python=3.12.2
anacondaのアンインストール
conda init --reverse --dry-run
conda init --reverse
CONDA_BASE_ENVIRONMENT=$(conda info --base)
echo ${CONDA_BASE_ENVIRONMENT}
/Users/u/.pyenv/versions/anaconda3-2022.05
rm -rf ${CONDA_BASE_ENVIRONMENT}
rm -f "${HOME}/.condarc"
rm ~/.pyenv/version
vi ~/.zshrc
# .zshrcのcondaの部分を削除します。
# >>> conda initialize >>>
# ↑↓これに囲まれた行を削除します
# <<< conda initialize <<<
RemoveErrorとなった場合
conda updateコマンドでパッケージをアップデート(やインストール)した際に、RemoveError: 'setuptools' is a dependency・・・のエラーが発生したら、以下のコマンドでsetuptoolsを強制的にupdateすることもできます。
conda update -f conda
覚えておきたいcondaコマンド
condaには便利なたくさんのコマンドがあります。conda --helpで詳しく見ることができます。conda install --help、conda list --help、conda remove --helpのように各コマンドのヘルプも確認することができます。
ここでは最低限覚えておきたいcondaコマンドを紹介します。
conda環境の自動起動
ターミナルを起動した時にcondaの自動起動をオフに設定する場合は下記のコマンドでauto_activate_baseをfalseに指定します。
自動起動をオフにする
conda config --set auto_activate_base false
~/.condarcに追加されたことを確認します。
cat ~/.condarc
channels:
- conda-forge
auto_activate_base: false
condaの自動起動をオンにする場合は下記のコマンドです。
自動起動をオンにする
conda config --set auto_activate_base true
baseの表示を消す
conda config --set changeps1 False
~/.condarcに以下が追加されたことを確認します。
cat ~/.condarc
changeps1: false
conda環境をアクティブ、非アクティブにする
conda環境をアクティブにするにはconda activateの後に環境名を指定します。環境名を指定しない場合はデフォルトのbaseという環境がアクティブになります。
base環境をアクティブにする
conda activate
非アクティブにするにはconda deactivateです。
base環境を非アクティブにする
conda deactivate
conda環境の作成と削除
condaの仮想環境を作成するにはconda createコマンドを使います。-nオプションの後に作成する環境名を指定します。
conda環境の作成
conda create -n <環境名>
conda環境を削除するにはconda removeを使います。-nオプションの後に削除する環境名を指定し--allを付けます。
conda環境の削除
conda remove -n <環境名> --all
condaパッケージの検索
インストールしたいパッケージを検索するにはconda searchでパッケージ名を指定し検索します。Channelは先程指定したconda-forgeとなっています。
condaパッケージの検索
conda search numpy
Loading channels: done
# Name Version Build Channel
numpy 1.23.5 py39hefdcf20_0 conda-forge
numpy 1.24.0 py310h5d7c261_0 conda-forge
numpy 1.24.0 py311ha92fb03_0 conda-forge
numpy 1.24.0 py38h09ac2d9_0 conda-forge
numpy 1.24.0 py39hefdcf20_0 conda-forge
condaパッケージのインストールとアンインストール
パッケージをインストールするにはconda installでパッケージ名を指定します。
condaパッケージのインストール
conda install numpy
condaパッケージのアンインストール
conda uninstall numpy
インストール済のパッケージ一覧の表示
condaでインストールしたパッケージを表示するコマンドはconda listです。-nで仮想環境名を指定しその仮想環境でcondaでインストールしたパッケージを表示することもできます。
インストール済パッケージの一覧表示
conda list
ある仮想環境におけるインストール済パッケージの一覧表示
conda list -n <環境名>
conda環境の表示
conda環境詳細を表示するにはconda infoです。
conda info
condaの仮想環境の一覧を表示するにはconda info -eです。
conda info -e
Mambaについて
mambaは、condaの高速な代替として開発されたパッケージマネージャーです。C++で実装されておりcondaのパッケージリポジトリと完全に互換性があります。
より高速にパッケージ管理を行いたい方、CPUやメモリなどのリソースに制限がある環境で作業している方に特におすすめです。使い方は、普段のcondaコマンドをmambaコマンドに置き換えるだけです。オプションなども一緒です。
mambaのインストール方法
conda install -c conda-forge mamba
参考
参考にさせていただいたサイトです。
最後に
最後まで読んでいただきありがとうございます。今回の【Python】M1/M2 MacにAnacondaをインストールする(pyenv編)はいかがでしたでしょうか。M1やM2などのApple Siliconを搭載したMacにpyenvでanacodaのインストール方法を紹介しました。Anacondaを使う場合はライセンスを確認し、みなさんのMacライフを便利にしていただけたらと思います。
\無料相談もできます/
・現役エンジニアから学べるオンラインに特化したプログラミングスクール。
・講師は全員、通過率10%の選考に合格した現役エンジニア。
・確かなスキルをもとにマンツーマンサポート。
・900社、30,000名を超える教育実績
※受講料最大70%支給
・AI(人工知能)の構築に必要な機械学習・ディープラーニングを習得。
・1人では続かない方のためのパーソナルメンターがつく学習プログラム。
・Pythonのライブラリを使い、機械学習の応用までを実践的に学ぶことができます。
・人工知能を実践的に理解したい方
・時間と場所にとらわれない働き方をしたい方
・機械学習ライブラリを使い実装を行いたい方
・機械学習を用いて起業したい方
・回帰モデルの作成:プロ野球選手の年俸を予測(教師あり学習)
・Amazonレビューを評価分析:対象商品の評価を判定(自然言語処理)
・手書き数字の画像認識:手書き数字を画像認識する(深層学習)
・オリジナルのAIの構築:公開されているデータセットを使って構築する
・Python
・scikit-learn
・TensorFlow
・Pandas
・Keras
\無料相談もできます/
MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。
Amazonの電子書籍読み放題サービス「Kindle Unlimited」でプライム会員を対象に、最初の3か月間を無料体験できるキャンペーンを実施中。マンガ、小説、ビジネス書、雑誌など500万冊から、好きな本を何冊でも読めるキャンペーンです。
初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。
最高の打鍵感。スコスコと静かに速く、そして気持ち良くタイピングができます。もうタイピングが楽しくてどうしようもなくなります。つや消しの高級感もたまりません。サラサラしていて触り心地も最高です。