2019年9月23日月曜日

condaが壊れたので再インストールで直した

Ubuntu16.04, conda 4.7.10

condaで何かをインストールしたときに、conda自身もアップデートして、そのときに壊れました。アップデート時にcondaが壊れる現象は、他でも起こっているようです。

結論


解決方法を試行錯誤しましたが上手く行かず。結局、再インストールしました。

壊れたのを確認


condaを呼んだらモジュールありません、というエラーが出ました。PATHの設定が壊れたのかと思って確認しましたが、変わっていませんでした。

Traceback (most recent call last):
  File "....py", line 6, in
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'

解決しようとした方法 -- 失敗


https://github.com/conda/conda/issues/2463
に同様のケースがあって、

https://github.com/conda/conda/issues/1733#issuecomment-150641779
に再インストールする解決策がありました。

※anaconda というディレクトリに入っているとします。
※user名はwakari

# 現状の名前を変えておく
cd anaconda
mv anaconda anaconda_orig
# sh ファイルをインストールする
wget Anaconda.shchmod a+x Anaconda.sh./Anaconda.sh # install to /opt/wakari/anaconda(Downloadしてから)
sh pathto/Anaconda_hoge.sh

# 新しいanacondaディレクトリに元のディレクトリと同期させる
rsync -a anaconda_orig/ anaconda/

# アップデートする
chmod -R a+rX anacondachown wakari:wakari anacondasudo /anaconda/bin/conda update conda
sudo /anaconda/bin/conda install -f conda-env


しかし、上手くできませんでした。コンフリクトしまくりのようです。
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:

  - https://repo.continuum.io/pkgs/free/linux-64::path.py==10.0=py36_0
  - defaults/linux-64::pycosat==0.6.3=py37h14c3975_0
  - defaults/linux-64::pathlib2==2.3.4=py37_0
こういうエラーが延々と続きます。
Package setuptools conflicts for:
wurlitzer -> python[version='>=2.7,<2 .8.0a0="">=3.6,<3 .7.0a0="">=3.7,<3 -="" .8.0a0=""> pip -> wheel -> setuptools
pandas -> numpy[version='>=1.11.3,<2 .0a0="">=1.9,>=1.9.3,<2 -="" .0a0=""> mkl_random[version='>=1.0.2,<2 -="" .0a0=""> numpy-base[version='>=1.0.2,<2 -="" .0a0=""> python[version='>=2.7,<2 .8.0a0="">=3.5,<3 .6.0a0="">=3.6,<3 .7.0a0="">=3.7,<3 -="" .8.0a0=""> pip -> wheel -> setuptools
<2 .8.0a0=""><3 .7.0a0=""><3 -="" .8.0a0=""><2 .0a0=""><2 -="" .0a0=""><2 -="" .0a0=""><2 -="" .0a0=""><2 .8.0a0=""><3 .6.0a0=""><3 .7.0a0=""><3 -="" .8.0a0="">
<2 .8.0a0=""><3 .7.0a0=""><3 -="" .8.0a0=""><2 .0a0=""><2 -="" .0a0=""><2 -="" .0a0=""><2 -="" .0a0=""><2 .8.0a0=""><3 .6.0a0=""><3 .7.0a0=""><3 -="" .8.0a0="">

結局、再インストール

原因は、 py3.6で最初にインストールして、途中で3.7にしたので、もう戻れない、ということのようです。 Anaconda丸ごとクリーン再インストールしました。

(コマンドは上の続きで)

sh pathto/Anaconda_hoge.sh
でAnacondaを再インストールして
cp -ar dir_new dir_old
で全部をコピーします。

0 件のコメント:

コメントを投稿