0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Anacondaの仮想環境にTensorflowを入れられなかった話

Last updated at Posted at 2024-10-25

問題提起

機械学習の勉強のためにAnacondaにTensorflow用の仮想環境を作ろうとしたらTensorflowをインストールできなかった。

実行環境とエラー文

pythonのバージョンは3.13.0
叩いたコマンドは以下の通り。

conda install tensorflow

すると以下のようなエラーが発生した。

Channels:
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: - warning  libmamba Added empty dependency for problem type SOLVER_RULE_UPDATE
failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - nothing provides bleach 1.5.0 needed by tensorboard-1.6.0-py27hf484d3e_0

Could not solve for environment specs
The following packages are incompatible
├─ pin-1 is installable and it requires
│  └─ python 3.13.* , which can be installed;
└─ tensorflow is not installable because there are no viable options
   ├─ tensorflow [1.10.0|1.11.0|...|2.1.0] would require
   │  └─ python 2.7.* , which conflicts with any installable versions previously reported;
   ├─ tensorflow [1.10.0|1.9.0] would require
   │  └─ python 3.5.* , which conflicts with any installable versions previously reported;
   ├─ tensorflow [1.10.0|1.11.0|...|2.2.0] would require
   │  └─ python 3.6.* , which conflicts with any installable versions previously reported;
   ├─ tensorflow [1.10.0|1.8.0|1.9.0] would require
   │  └─ tensorflow-base [==1.10.0 gpu_py27h3435052_0|==1.10.0 gpu_py35h3435052_0|...|==1.9.0 gpu_py36h9f529ab_1], which requires
   │     └─ cudatoolkit 8.0.* , which does not exist (perhaps a missing channel);
   ├─ tensorflow [1.13.1|1.14.0|...|2.9.1] would require
   │  └─ python 3.7.* , which conflicts with any installable versions previously reported;
   ├─ tensorflow [1.4.1|1.5.0|1.6.0|1.7.0] would require
   │  ├─ tensorboard [>=1.6.0,<1.7.0 |>=1.7.0,<1.8.0 ] but there are no viable options
   │  │  ├─ tensorboard [1.6.0|1.7.0|1.8.0] would require
   │  │  │  └─ bleach 1.5.0 , which does not exist (perhaps a missing channel);
   │  │  └─ tensorboard [1.6.0|1.7.0] would require
   │  │     └─ bleach >=1.5.0,<1.5.1.0a0 , which does not exist (perhaps a missing channel);
   │  └─ tensorflow-tensorboard [ |>=1.5.0,<1.6.0 ] but there are no viable options
   │     ├─ tensorflow-tensorboard [0.4.0|1.5.1] would require
   │     │  └─ bleach 1.5.0 , which does not exist (perhaps a missing channel);
   │     └─ tensorflow-tensorboard 1.5.1 would require
   │        └─ bleach >=1.5.0,<1.5.1.0a0 , which does not exist (perhaps a missing channel);
   ├─ tensorflow 1.8.0 would require
   │  └─ tensorboard >=1.8.0,<1.9.0 , which cannot be installed (as previously explained);
   ├─ tensorflow [2.10.0|2.11.0|...|2.9.1] would require
   │  └─ python [3.10.* |>=3.10,<3.11.0a0 ], which conflicts with any installable versions previously reported;
   ├─ tensorflow [2.10.0|2.11.0|...|2.9.1] would require
   │  └─ python 3.8.* , which conflicts with any installable versions previously reported;
   ├─ tensorflow [2.10.0|2.11.0|...|2.9.1] would require
   │  └─ python [3.9.* |>=3.9,<3.10.0a0 ], which conflicts with any installable versions previously reported;
   ├─ tensorflow [2.12.0|2.17.0] would require
   │  └─ python [3.11.* |>=3.11,<3.12.0a0 ], which conflicts with any installable versions previously reported;
   └─ tensorflow 2.17.0 would require
      └─ python >=3.12,<3.13.0a0 , which conflicts with any installable versions previously reported.

ぱっと見だとバージョンの問題が起きていそう...?

解決方法

ChatGPT先生に投げてみた所、以下のような回答がでてきた。

このエラーは、tensorflow の依存関係や Python バージョンに起因するものです。Anaconda 環境において tensorflow をインストールする際には、指定された Python バージョンと互換性のある TensorFlow バージョンを選択する必要があります。

つまりpythonのバージョンが3.13.0のやつに対応するTensorflowのバージョンがなかったということである。先程の仮説は的を得ていたっぽい。このことを踏まえてエラー文をよく読んで見ればTensorflowのバージョンに対応するpythonのバージョンを出力してくれていることが分かる。エラー文偉い。

さて、以上のことを踏まえて仮想環境を作成するところからやり直した。
まずは仮想環境の構築から。

conda create -n tensorflow_env python=3.9

ここでの肝はpythonのバージョンを指定してあげるところ。今回はChatGPTに言われるがままにpythonのバージョンを3.9.20で作成したが、Tensorflowがサポートしている3.12くらいまでなら大丈夫だと思われる (ココらへんは無駄話) 。Tensorflowがどのpythonのバージョンまでをサポートしているかはドキュメントなどで確認するのが良いだろう。
次にTensorflowをインストールする。

conda install tensorflow

するとTensorflowがインストールされる。実際にconda list | grep tensorflowというコマンドを叩いて確認すると

tensorflow                2.18.0                   pypi_0    pypi
tensorflow-io-gcs-filesystem 0.37.1                   pypi_0    pypi

と出力され、確かにTensorflowがインストールされていることが分かる。

これでTensorflowをAnacondaの仮想環境にインストールすることができた。やったね!!

最後に

とりあえずなにか問題がおきたらエラー文をみよう。対処方法がわからなくても何が起きているのかくらいは把握しておいたほうが良い。ただChatGPTにまかせるだけよりは良いはずだ。さて、Tensorflowのインストールもできたことだし、私は機械学習の勉強に戻るとしよう。良き機械学習ライフを。

追記

2024/11/10: tensorflowをインストールするときにpipではなくcondaを使うようにした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?