Conda仮想環境の構築方法


本稿では、Windows環境でAnacnda又はMinocodaを使ったPython仮想環境の構築方法を簡潔にご紹介します(Macもほぼ同じ、違いは文中で説明)。こちらのozaki_physicsさんの記事はより詳しいので必要に応じてご参照ください。

Anaconda又はMinicondaのインストール

Condaもpipもpythonのバージョンとパッケージを管理しますが、両者のグローバル環境での共存・競合がややこしいのでAnaconda又はMinicondaをインストールするときは少し慎重になる必要があります。現在pipを使っていて、仮想環境を構築したい場合は、このためだけにAnaconda又はMinicondaをインストールせず、pipを使うpyenv + venvなどの別の方法を検討した方がいいと思います(Windowsの方はこちらの私の記事を参照)。なおグローバル環境(root環境)でいずれか一方のみを使うと決めれば、仮想環境ではなんらかの事情によりcondaとpipが共存したとしても問題にならないような気がします(ご意見伺えれば幸いです)。

現在の環境の確認

これまで仮想環境を作成していなければ、(root)のみが表示されます。

$ conda info -e

新たな仮想環境の構築

envnameの部分に任意の仮想環境の名称を、pythonに続く等号の左側に特定のpythonのバージョンを指定します。指定がないと最新のものがインストールされると思います。これで(root)とは異なる環境ができます。

$ conda create -n envname python=3.9.6

仮想環境のActivate

続いて作った仮想環境に入ります。この操作により、シェルの冒頭の(root)の部分が、(envname)に変わったと思います。macの場合は下段にように頭にsourceを付けます。

$ activate envname
$ source activate envname

仮想環境にインストールされたライブラリーの確認

仮想環境に入った状態で、下記上段を記述するか、仮想環境の外では下段のコードで環境を指定して確認できます。

$ conda list
$ conda list -n envname

仮想環境へのライブラリーの追加インストール

envnameの部分には仮想環境の名称を、pkgnameの部分にはインストールしたいパッケージの名称を記述します。

$ conda install -n envname pkgname

仮想環境内でのpythonの実行

Anaconda promptの表示が(envname)となっていれば、当該仮想環境の内側にいますので、この状態で(root)と同じようにpythonが実行可能です。例えば、main.pyを今作った仮想環境内で実行したい場合は下記の通りです。(envname)の部分は冒頭の表示ですので、記入頂く必要はありません。また、同時に複数のAnaconda Promptを立て、それぞれ別の仮想環境をActivateすることにより、同一のサーバ内で異なる環境下にあるプログラムも実行可能です。

(envname) $ python main.py

仮想環境内から抜ける(Deactivateする)方法

処理が完了したら仮想環境から抜けて終わります。下記上段はwindowsでの方法、下段はmacです。Windowsでは2021年頃から、頭にcondaを付けるようになりました(付けない方法はdepreciated)。なお、そのままAnaconda Promptを落としても、次にAnaconda Promptを立ち上げたときは仮想環境から抜けてrootに戻っています。

$ conda deactivate
$ source deactivate

今日も最後まで読んで頂きありがとうございました。