Miniconda 仮想環境の移行(復元,再構築)

Table of Content

背景

新しい Windows 10 の PC で新たにMinicondaをインストールし,xhycom を実行する仮想環境を構築したところ,xarray.Dataset.hvPlot が動かなくなりました.具体的には datetime64 の扱いに問題があるようで,pandas の datetimes.pyget_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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください