GCP上でJupyterHubをインストールした時に出たCondaUpgradeErrorを解決した
発生した問題
こちらの手順でSTEP3の手順通りsudo -E conda install -c conda-forge gdal
を実行してみたところ、以下のエラーが出てきました。
CondaUpgradeError: This environment has previously been operated on by a conda version that's newer
than the conda currently being used. A newer version of conda is required.
target environment location: /opt/hoge/user
current conda version: 4.5.8
minimum conda version: 4.8
解決策
こちらのドキュメントに解決策が書いていました。
EXAMPLE: If my conda info says package cache : /opt/conda/pkgs and my Python version is 3.7, then on the command line, type conda install /opt/conda/pkgs/conda-4.6.1-py37_0.tar.bz2 to resolve the issue.
https://docs.conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#conda-upgrade-error
こちらの通り、パッケージキャッシュを利用することで解決しました。
以下の様にconda info
を実行するとパッケージキャッシュのパスが出てくるので、そのパスの中で一番新そうなcondaパッケージをインストールするとエラーが出なくなりました。(私の場合はconda-4.7.10-py37_0.tar.bz2でした)
$ conda info
...
package cache : /opt/hoge/user/pkgs
...
$ sudo -E conda install /opt/hoge/user/pkgs/conda-4.7.10-py37_0.tar.bz2
$ sudo -E conda install conda
補足
Change the .condarc file. Set the parameter by editing the .condarc file directly:
allow_conda_downgrades: true
in conda version 4.5.12. This will then let you upgrade. If you have something older than 4.5.12, install conda 4.6.1 again from the package cache.
上記の方法も書いてあったのですが、.condarc
を書き換えても上手くいかなかったので、この方法でやることにしました。
あと、このErrorはインスタンス削除して作り直してみた時には再現しなかったので、よく分からない。
参考文献
Discussion