Miniconda 仮想環境の移行(復元,再構築)
背景
新しい Windows 10 の PC で新たにMinicondaをインストールし,xhycom を実行する仮想環境を構築したところ,xarray.Dataset.hvPlot
が動かなくなりました.具体的には datetime64
の扱いに問題があるようで,pandas の datetimes.py
の get_loc(key)
で KeyError
が出るようになりました.key の値は datetime64(ns)
の桁数の多い整数でしたが,このメソッドは index を受け取るもののようで,index と datetime64(ns)
の整数値が混同されているように見えました.解決策がわからなかったので,うまく動いているPCの仮想環境を新しいPCに再構築することにしました.
同じ問題がこちらのサイトで議論されているのを見つけました.バグのようです.xarray 0.16 と pandas 1.1 ではだめですが,pandas 1.05 では動きます.pandas 1.1 では日付関連の扱いに多くの変更があったようです.
仮想環境を yaml に書き出し
書き出したい仮想環境名を rs ,yaml ファイル名を rs.yaml とし,base 環境で実行します.
conda env export -n rs -f rs.yaml
ここで,-f
の代わりに >
とすると,encodeがUTF-16 になり,そのまま再構築すると,こちら で解説されている通り,エラーとなるので要注意です.>
で作成してしまい,encode を修正するには yaml ファイルを秀丸エディタ等で開き,encodeを UTF-8 LT に変換すれば問題ありませんでした.
仮想環境の復元
仮想環境を復元する PC で Miniconda をインストールし(最新版でよいでしょう),base 環境で実行します.
conda env create -n rs -f rs.yaml
こうすると,しばしば以下のエラーが発生しますが,yaml ファイルのエラーに該当するパッケージの行を削除し,再度実行します.
ResolvePackageNotFound:
...
jupyter lab の実行
移行先の仮想環境で初めて jupyter lab を立ち上げたところ,Build recommended
というポップアップが立ち上がりましたので,実行しました.
[W 14:30:34.899 LabApp] Build recommended
[W 14:30:34.900 LabApp] jupyter-matplotlib needs to be included in build
[I 14:30:44.529 LabApp] Building jupyterlab assets (build:dev)
さらに,こちらのサイトにある通り,pyviz用に jupyter labextension をビルドしておきます.
jupyter labextension install @pyviz/jupyterlab_pyviz