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側でどうこうするのではなく、これを変更してもらわないといけない問題みたいです。
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