rcmdnk's blog

TensorFlowとKerasで動かしながら学ぶ ディープラーニングの仕組み ~畳み込みニューラルネットワーク徹底解説~ (Compass Booksシリーズ)

Poetryでプロジェクトを作ってTensorFlowを使おうと思ったら エラーが出た件。

Poetry

PoetryはPythonのプロジェクトの依存関係などを管理するためのツール。

詳細は以下参照:

起こった問題

Poetryのプロジェクトを作って、TensorFlowを入れてなにかしてみようとしたときに起こったエラー。

$ poetry add tensorflow
$ grep tensorflow pyproject.toml
tensorflow = "^2.1.0"

な感じで、今(2020/03/18)バージョン指定しないで入れると2.1.0が入ります。

このプロジェクトで、

$ poetry install
$ poetry shell
$ python
>> import tensorflow
...
AttributeError: module 'tensorflow' has no attribute 'compat'

みたいな感じでpyproject.tomlで指定された仮想環境に入って TensorFlowを使ってみようとすると上の様なエラーメッセージが出ます。

この問題はTensorFlow側のパッケージメタデータファイルの内容が原因で、 Poetry側でどうこうするのではなく、これを変更してもらわないといけない問題みたいです。

AttributeError: module ‘tensorflow’ has no attribute ‘compat’ when importing tensorflow · Issue #37525 · tensorflow/tensorflow

can’t install tensorflow==2.0.0rc0 with poetry (python3.6.5) · Issue #1330 · python-poetry/poetry

対処法

現状 tensorflow-estimatorを加えるとこの辺の依存関係が修復されて使えるようになります。

$ poetry add tensorflow-estimator
Sponsored Links
Sponsored Links

« HomebrewからのPython2の削除 macOS Catalina 10.15.4 (19E266)にアップデート »