概要
Pythonでの開発をするために仮想環境を作っている人は多いと思います。
仮想環境を作るためのツールとして、Anacondaが有名です。
この記事ではAnacondaの環境を別の端末に複写する方法を記述します。
移送元と移送先では、Dropboxなどでファイル共有できていると便利です。
個人的な備忘録としての意味合いもあるので、あまり細かい点には触れていません。。。
移送元端末での操作
移送元ではまず環境の設定内容をExportします。
以下の手順で実施します。
1. 環境のある場所に移動
Anacondaを立ち上げて、移送したい環境からターミナルを開きます。
多分デフォルトのままでOKですが、別の場所が開かれている場合は cd
などで移動します。
2. 環境をymlファイルに出力
次のコマンドを入れます。
conda env export > ファイル名.yml
すると今開いている場所にymlファイルができます。
3. requirements.txtを作っておく
コマンドで次のように打ちます。
pip freeze > requirements.txt
これで出来上がりです。
このrequirements.txtや先ほど作ったymlは、Dropboxなどで移送元、移送先で共有するようにしましょう。便利です。
移送元ではこれだけです。
移送先端末での操作
当然ながら、Anacondaがインストール済みであることが前提です。
1. ymlファイルをインポート
とりあえずもともとあるbase(root)のところからターミナルを開きます。
インポートするymlファイルのある場所に移動します。
そして次のコマンドを打ちます。
$ conda env create -n 新たな環境名 -f ファイル名.yml
たいてい次のようなエラーになります。
ResolvePackageNotFound:
- openssl==1.1.1c=he774522_1
- sqlite==3.28.0=he774522_0
- vc==14.1=h0510ff6_4
- vs2015_runtime==14.15.26706=h3a45250_4
- wincertstore==0.2=py37_0
- python==3.7.3=h8c8aaf0_1
そこでこれらの記述をインポートするymlファイルから削除します。
そしてもう一度コマンドを入れます。
$ conda env create -n 新たな環境名 -f ファイル名.yml
端末のスペックによっては結構時間がかかりますが、遅くても数分で完了します。
2. requirements.txtの読み込み
だいたい出来上がった状態ですが、仕上げとして移送元のrequirements.txtを読み込みます。
次のコマンドです。
pip install -r requirements.txt
以上で完了です。