2017年1月16日月曜日

AnacondaのPythonを3.4から3.5にアップデート

今更ながらAnacondaのPythonを3.4から3.5にアップデートしたが結構手間取った。

$ conda install python=3.5

backports_abcとpython3.5が衝突していると言われて失敗。

backports_abcはpython3.5のcollections.abcをそれ以前のPythonに導入するためのものなので、Python2.7or3.4が依存パッケージとなっている。
python3.5では不要なので削除。

$ conda remove backports_abc

再度conda install python=3.5を実行。
今度は成功。

念のためconda update condaを実行。

$ conda update conda

成功。アップデートは特になし。

conda update anacondaを実行。

$ conda update anaconda

beautiful-soupとpython3.5が衝突していると言われて失敗。
beautiful-soupはbeautifulsoup4にパッケージ名を変更。
beautiful-soup名では3.4対応版までしか出ていない。
確認するとすでに3.4対応beautifulsoup4がインストールされていた。
beautiful-soupは削除。

$ conda remove beautiful-soup

再度conda update anacondaを実行。
dateutilとpython3.5が衝突していると言われて失敗。
dateutilはpython-dateutilにパッケージ名を変更。
dateutil名では3.4対応版までしか出ていない。
確認するとすでに3.4対応python-dateutilがインストールされていた。
dateutilは削除。

$ conda remove dateutil

再度conda update anacondaを実行。
llvmpyとpython3.5が衝突していると言われて失敗。
llvmpyは開発終了。llvmliteに移行するよう案内が出ている。
llvmpyは3.4対応版までしか出ていない。
確認するとすでに3.4対応llvmliteがインストールされていた。
llvmpyは削除。

$ conda remove llvmpy

再度conda update anacondaを実行。
今度は成功。
(正確には途中で
CondaError: No package 'defaults::toolz-0.8.2-py35_0' found in cache directories.
というエラーが出て途中終了したが、
再度conda update anacondaを試みて最後まで成功。)

新規パッケージのインストール、また各種パッケージのPython3.5対応アップデートが行われる。
先のbeautifulsoup4、python-dateutil、llvmliteもここで3.5対応版にアップデート。

また
The 'binstar' conda package has been renamed to 'anaconda-client'.
Please run: conda install anaconda-client
という警告も出たが、確認したらすでにanaconda-clientはインストールされていた。