Mac/LinuxのPython環境をMiniForgeで構築
Mac/LinuxのPython環境構築をMiniForgeで行う理由
Pythonのパッケージ管理ソフト、様々なものがあります。pip,pipenv,poetry,virtualenv,pyenv,pyenv-virtualenv,Anaconda。地獄ですか、ここは…
なぜこんなにあるのか、それぞれの違いは以下の ばんくし さんのブログ記事がとても詳しくまとまっています。
ただ、Apple Silicon Macになって状況は激変…pipで入れたパッケージ、動かないんです…そのあたりは、以下のZennの記事にとても詳しくまとまっています。
自分なりの結論としては、Apple Silicon(M1 Mac等のArm CPU) Macを使うなら、Python環境はMiniForge一択ですね。Intel Macに関しては、MiniForgeに変えなくてもよいのですが、「Apple Silicon MacとIntel Macで共通にしたい」「Intel MacでもMini Forgeじゃないと動かないライブラリがある」といった理由からこれを機にIntel MacもPython環境はMiniForgeで構築することにしました。
最近は、Linux環境でもMiniForgeを使っていますが、pyenvと組み合わせて使っています。以下記事参照ください。
Mac/LinuxへのMiniForgeセットアップ方法
最初が、プラットフォームにより少し異なります。
Intel CPUの場合は、以下コマンドでMiniForgeをインストールします。
$ wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh
$ bash Miniforge3-MacOSX-x86_64.sh
Apple Silicon Macの場合は以下コマンドでMiniForgeをインストールします。
$ wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
$ bash Miniforge3-MacOSX-arm64.sh
Linux(X86 CPU)の場合は以下です。
$ wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
$ bash Miniforge3-Linux-x86_64.sh
その他のプラットフォームに関しては、以下README参照ください。リストにあればインストールできると思います。
途中、いくつか質問が出てきますが、言われるがままにyesとかEnterを入力していればインストール完了します。
追記:macOS 15.1でインストールしたときは、.zshrc
に以下コマンドを追加して、ターミナルを開き直してconda init
を実行する必要がありました。
eval "$(/Users/karaage/miniforge3/bin/conda shell.zsh hook)"
以降は、Intel Mac, Apple Silicon Macで共通です。以下コマンドでMiniForgeにPython3.8環境を構築します。
まず新しいターミナルを開きましょう。
そして以下コマンドで新しいPython仮想環境を構築します。
$ conda create --name python38 python=3.8
次に以下コマンドで作成した仮想環境をアクティベートします。これでPythonの仮想環境が使えるようになりました。
$ conda activate python38
MiniForgeを使いたくないときは、以下コマンドを実行しましょう。
$ conda deactivate python38
ライブラリのインストールは、基本的にはconda install xxx
とMiniForgeのパッケージ管理でインストールする方が安定して動作するのでおすすめです。
動かなかったらpip
でインストールします。
その他の使い方は、Condaの使い方を見ればよいのかな?(MiniForge自体のドキュメント、いまいち見当たりませんでした)。
condaのコマンド
よく使うのは、作成した環境の一覧を表示する以下コマンドです。
$ conda env list
その他は、公式の以下マニュアル参照ください。
pyenv/pyenv-virtualenv等を入れていた場合
MiniForgeと競合してうまく動かない場合があるようです。Macの場合は、以下コマンドでアンインストールしましょう。
$ brew remove pyenv-virtualenv
$ brew remove pyenv
~/.bashrc
や~/.zshrc
に記載している設定も合わせて消しておきましょう。
miniforgeをアンインストールする方法
miniforgeをアンインストールしたい場合は、以下コマンドで可能です。
$ rm -rf $(conda info --base)
$ rm -rf ~/.conda
加えて~/.bashrc
に以下のようにconda initialize
で囲まれたcondaの設定スクリプトが書かれているので、エディタで手動で削除しておきましょう。
# >>> conda initialize >>>
# <<< conda initialize <<<
~/.zshrc
の場合は以下を削除しました。
eval "$(/Users/karaage/miniforge3/bin/conda shell.zsh hook)"
また、自分の環境ではJupyter Lab(Notebook)が以下のようなエラーで起動しなくなることがありました。
/home/<user name>/miniforge3/envs/<env name>/bin/python3: 誤ったインタプリタです: そのようなファイルやディレクトリはありません
~/.local/bin/jupyter
のPythonパスがminiforgeになっていたので、以下のように修正したら直りました。
#!/usr/bin/env python
Dockerを使ったPython環境構築
環境構築は、Dockerを使う方法もあります。こちらの方がより隔離性の高い使い捨ての環境を手軽に作れます。Dockerに関しては以下記事参照ください。
VS CodeエディタのRemote Containersを使う方法も便利です。こちらは、また別途まとめたいと思っています。とりあえず参考になりそうな記事を列挙しておきます。
uvを使ったPython環境
最近(2025年4月)uvに手を出しました。MiniForgeは削除して、uvを基本に、必要に応じてDockerを使うような形で運用しています。よろしければ参考にしてみてください。
まとめ
MacのPython環境構築に関して書きます。AnacondaからPyenvに行った後、Poetryなどに行かずまたAnaconda系に回帰するという…歴史は繰り返すといったやつでしょうか。
そのうちApple Silicon Macのライブラリをpipで簡単に入れられるようになれば、またMiniForgeなども不要になっていくのかなーとか思ったりしています。
参考リンク
参考になりそうな新しい情報へのリンクです。まだ自分で試していないものも含まれています。
関連記事
Apple Silicon Macでディープラーニング環境まで構築する場合は、以下記事参照ください。
変更履歴
- 2025/04/03 uvについて追記
- 2021/10/04 Linuxでの環境構築に関して追記
Discussion