※これはWindowsでのお話。もちろんMacだとactivateの際など、多少コマンドは異なります
やりたいこと
(conda環境にて)
base環境はpython3.8を使っているが、2020/09/22時点ではtensorflowがpython3.8に対応していない。よって
- python3.7用のpy37という環境を作る
- パッケージ類を全て再インストールするのは面倒くさいのでbaseか何かから引き継ぐ(今回はdata分析環境dsから引き継ぐ)
みたいなことをやりたい。
まず初めに
conda create -n py37 python=3.7
これでpython3.7用のpy37という環境が作れる
次にこの環境にdsで使用していたパッケージ類を入れたい。
まずdsのパッケージ一覧をtxtで出力する。
conda list --explicit > ds.txt
ds.txtはcurrent working directoryに作成される。
ここ大事
dsではpython3.8を使用していたので、ds.txtにはpython3.8をinstallする箇所がある。
具体的には次にような行
https://repo.anaconda.com/pkgs/main/win-64/python-3.8.5-h5fd99cc_1.conda
ds.txtをエディターか何かで開いてこの行を削除する。
最後に
ds.txtの内容をpy37に反映させる。
conda activate py37
でpy37をactivateした後に
conda update --file ds.txt
これで新しく作ったpy37にpythonのバージョン以外のdsの環境が引き継がれる。
補足
https://repo.anaconda.com/pkgs/main/win-64/python-3.8.5-h5fd99cc_1.conda
この一文がちゃんとds.txtから取り除かれていれば
conda create -n py37 python=3.7 --file ds.txt
で、環境の作成+引継ぎができると思うけど試していない。
かなりマニュアルチックなやり方なので、もっと簡単にできる方法があればコメントお願いします。