AnacondaをPython仮想環境を維持してアップグレードするには

Anaconda3 (4.3.1)をつかったPythonの環境を維持したまま、Anaconda3だけ4.xにバージョンアップさせる方法について。
Python仮想環境の再構築なくAnaconda3の上書きインストールでバージョンアップできないか調べてみたが、それはできなかった。
(アンインストール→インストールが必要)
そのため一時的にPythonが使えなくなる。

現Python仮想環境の情報の取得

(condaとpipでパッケージ管理している想定)

# PowerShellで
cd Desktop
conda info -e > conda_envs.txt

$envs = @(Get-Content -Path .\conda_envs.txt | ? { $_ -match '^[^#]' } | % { ([regex]'^(\S+)').Match($_).Groups[1].Value });
foreach($env in $envs) {
  cmd.exe /c "call activate ${env} && (conda env export > conda_${env}_list.yaml) && (pip freeze > pip_${env}_list.txt) && deactivate"
}

Anaconda3 アンインストール

プログラム一覧からアンインストールを実行。

Anaconda3 インストール

Anaconda3.exe /InstallationType=JustMe /AddToPath=1 /RegisterPython=0 /NoRegistry=0 /S

Python仮想環境再構築

$envs = @(Get-Content -Path .\conda_envs.txt | ? { $_ -match '^[^#]' } | % { ([regex]'^(\S+)').Match($_).Groups[1].Value });
foreach($env in $envs) {
  cmd.exe /c "conda env create -n $env --file conda_${env}_list.yaml"
  cmd.exe /c "call activate ${env} && pip install -r pip_${env}_list.txt"
}

conda から該当パッケージだけアップデートする方法(conda update condaおよびconda update anaconda)も考えたが
結局Anaconda3.exeのバイナリ自体はバージョンアップしない(らしい)ので、本当にバージョンアップ後の環境を求めるなら方法になるか。

コメントを残す

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