Tensorflowインストールエラーで結局MacにAnaconda再インストールしてうまくいった話

機械学習

Tensorflowがインストールできない

Keras公式サイトからライブラリを使う場合はTensorflowが必要みたいなので早速インストール。はじめに

sudo conda install tensorflow

をコマンドすると以下のエラー文が。

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: \ 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                            

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - tensorflow -> python[version='2.7.*|3.7.*|3.6.*|3.5.*']

Your python: python=3.8

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

pythonのバージョンをダウングレードする必要があるのかと、次は

conda install python=3.7

をコマンドするとまた以下のエラー文。

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: \ 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
Examining conflict for pickleshare xlsxwriter attrs multidict jupyterlab jupyte-failed

一旦Ctrl + Cで回避。
Found conflicts! Looking for incompatible packages.」と何やらどこかでコンフリクトが起きているらしい。

ごちゃごちゃと解決策を講じてみる

ひとまずエラー文でググってみるといくつか解決策があるようなのでやってみる。

1. conda update –all

conda update --all

一旦こちらでconda環境をアップデートしてみる。
その後で再度Tensorflowをインストールしようとしたが同じエラーが出たので、先ほどと同様pythonを3.7にダウングレードしようとしたらまた同じコンフリクトのエラー。

2. conda config –set channel_priority false

conda config --set channel_priority false

とchannel_priorityとかいうやつをfalseにするだけで解決した人もいるっぽいのでやってみるがやはりダメだった。

3. condaをダウングレード

conda config --set allow_conda_downgrades true

してから、バージョンを確認しつつ(古すぎるバージョンでダウングレードしないようにするため)

conda install conda=4.6.14

でconda自体をダウングレードしてみるも、相変わらずTensorflowもインストールできないしpythonのダウングレードもできない。もはや「Solving environment: \」でしばらくくるくるしている状態が続くと嫌な予感がするようになった。

4. 仮想環境を使う

いろいろ参考にしたサイトはこれ

[Solved] Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort

condaに仮想環境を作ってそこからインストールするというものらしい。

conda create --name myenv

で仮想環境を作ってから、

conda activate myenv

でアクティベートする。よく覚えていないけど、これでもうまくインストールできなかった気がする。今頃になって調べてみると、その仮想環境にもpythonを入れないといけないみたいで、

conda create -n 環境名 python=バージョン

のコマンドをしていたらうまくいっていたのかもしれない…

Anacondaアンインストール

苦肉の策でAnacondaをアンインストールすることに。この辺の記事を参考にさせてもらった。

Anaconda3をmacOSから完全にアンインストールする方法

Anacondaのアンインストールからの再インストール

私の場合「opt」フォルダも削除して、「.zprofile」でも記述されてるAnaconda情報を削除してようやく再インストールができた。
その後、pythonのダウングレード→Tensorflowインストールがやっと完了…

ちなみに、再インストールは下記から。

Free Download | Anaconda
Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.

参考サイト

MacOS版Anacondaのインストール

また、TensorflowはAnacondaの公式ドキュメントに記載されている

conda install -c conda-forge tensorflow

をコマンドしたらうまくインストールされた。

コメント