Anacondaで仮想環境名を変更する

仮想環境名を変更する方法を検索すると,一般的には仮想環境を新しい名前で作成し直すというものが出てきます.

しかし,もっと手っ取り早く変更する方法もあるのでは?と思ったので記しておきます.(保証はしない)

仮想環境を新しい名前で引き継ぐ

まず,一般的に使われている方法を紹介します.

terminal

$ conda create -n [new_name] --clone [previous_name]
$ conda remove -n [previous_name] --all

処理内容はコマンドの通り,これまで使ってきた仮想環境を複製する形で新しい名前の仮想環境を作り,前に使っていた仮想環境を削除しています.

この方法は堅実ですが,仮想環境を作るときに新たにインストールし直しになるので数分待たないといけません.(仮想環境なんてそんなに何度も作らないからそれでもいいが)

ディレクトリ名を変更する

(追記)一見動いていますが,パッケージ管理が壊れているのでだめでした.

Anaconda を使ってきた感じでは,仮想環境名に紐付いているのはおそらくディレクトリ名だけだと思うので,そこだけ変更すれば動くのでは?と思って試してみました.

Anaconda の仮想環境は ./anaconda3/envs/name 以下で管理されています.Python 実行ファイル自体やインストールしたモジュールも全てこの中です.

この name が仮想環境名と一致しています.

そのため,環境の切り替えによって呼び出すディレクトリを変えているだけなら,このディレクトリ名を変更することで仮想環境名を変更できるはずです.

以下のコマンドを変更対象の仮想環境を deactivate した状態で実行します.

* anaconda3 ディレクトリがホームディレクトリ直下の場合

terminal

(base) $ mv ~/anaconda3/envs/[previous_name] ~/anaconda3/envs/[new_name]

実際に仮想環境を利用できるかテストします.

terminal

(base) $ conda activate [new_name]
([new_name]) $ conda-env list
# conda environments:
#
base                    /home/user/anaconda3
[new_name]            * /home/user/anaconda3/envs/[new_name]

仮想環境の一覧で取得でき,仮想環境を切り替えても動作していれば成功です.