python仮想環境をminiforge(mambaforge)でつくる(Linux)
pythonといえば環境構築が面倒なことで有名?ですが今回はminiforge(mambaforge)をつかって少しでもきれいに使いたいという試みです。なお、OSはUbuntuですが最初のインストール以外のコマンドは多分同じ。
conda, miniforge, mambaforge
ここらへんの3つはこんがらがってしまいがちです。
まずcondaというのはパッケージマネージャーです。なんやかんやあってpythonのパッケージ管理にanacondaを通して使われることが多いです。
そんなcondaですがpython入門とかの本、サイトなどではとりあえずanacondaをインストールしよう、ということでよく使われています。ただこのanacondaが無駄に?大きいパッケージだったり色々重かったりと一部からは嫌われてしまっておりその代わりとして今回mambaforgeを使います。
miniforgeとmambaforgeは今現在(2024/06/19)ではほとんど同じものです。
公式のQ&Aにも次のように書かれています。https://github.com/conda-forge/miniforge
After the release of Miniforge 23.3.1 in August 2023, Miniforge and Mambaforge are essentially identical. The only difference is the name of the installer and subsequently the default installation path.
ということで昔は違ったような気がしますがminiforgeは今ではmambaforgeのインストーラーと考えても大きくは間違っていないかと思います。
ではそのmambaforgeとは何かというと公式が
mamba is a reimplementation of the conda package manager in C++.
と言っています。condaの改良版ということです。実際使い勝手はほとんど変わらずにanacondaより小さくて早いので個人的には上位互換かなと思っています。ただしこちらはGUIは無いのでとっつきやすさはanacondaのほうがあるかも。そしてこのmambaforgeのインストールですが公式推奨がminiforgeをインストールすることです。そのため言われたとおりおとなしくminiforgeをインストールしましょう。
mamba ではcondaコマンドだけでなくmambaコマンドもつかえます。これは機能的にはcondaとほとんど同じでcondaを再実装したものです。そのため以下のcondaが入っているコマンドは基本的にmambaに置き換えられます。例えば
conda env
mamba env
この2つのコマンドは同じ環境内のパッケージの表示ということをやっています。
環境
os:Ubuntu 24.04LTS
インストール
公式通りにやっていきます。
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
Linux以外でも公式のREADMEが割と親切にインストール方法を教えてくれています。
途中で色々聞かれると思いますが私の場合はすべてEnterのデフォルトで大丈夫でした。途中でファイルの場所を聞かれて基本的にはユーザーディレクトリ直下で大丈夫だと思いますが変えたければここで編集しましょう。
install completed みたいな文章が出ると思うのでそうしたらとりあえずターミナルを閉じましょう。
そしてもう一度ターミナルを開くと多分ベース環境になっています。↓こんな感じのやつ。
(base)user@/home
これでいまはmambaforgeのbase環境に入っています。base環境というのは仮想環境のデフォルト環境のようなものです。基本的にはあまりいじらない、使わずに新しく仮想環境を別で建てて作ることが推奨されています。
またこの環境内で他のプログラミング言語なりなんなりをいじりだしてわけわからんことになる恐れもあります。そうなると厄介です。そのためこのbase環境にデフォルトで入らないように設定を変更します。
conda config --set auto_activate_base False
これで新しくターミナルを立ち上げるとbase環境ではなく今までどおりの環境になっています。
pythonで仮想環境に入る必要がでたら
conda activate
でるときは
conda deactivate
となります。
仮想環境の作成
仮想環境の作成は
mamba create -n [仮想環境名] python=[バージョン名]
です。pythoのバージョンは指定しなくても大丈夫ですが最初に指定してしまうほうがわけわからなくなりにくいと思うので個人的におすすめです。
また仮想環境の名前がかぶっていないかは
mamba env list
で確認しましょう。
これで仮想環境は作成できた。Pythonはかならず仮想環境をつくるようにしましょう。特にLinuxユーザーはシステムのpythonと混ざると悲惨な事態になりかねません(一敗)。