LoginSignup
0
1

More than 3 years have passed since last update.

vscode + pytest 環境で tensorflow 使ってるとテストディスカバリが失敗する

Posted at

この記事は何

Python 開発環境を VSCode に移し中、pytest を VSCode 環境で動かそうと色々試すも何故かディスカバリに失敗してしまい、しばらく詰まったのでメモ。

背景

Remote Development で繋いでいる VSCode 環境で、新たに Python プロジェクトを作成しています。
Python 環境は poetry で作成し、テストのため pytest を導入しました。
CUI から pytest が poetry run pytest 問題なく実行できることを確認し、VSCode 上からテストを実行させようとしたところ、テストディスカバリに失敗しました。

原因

VSCode から pytest でテストディスカバリを行う際に、何故か標準出力があると失敗扱いになっていました。
下記の issue などから何かしら標準出力があると失敗することが指摘されています。
https://github.com/microsoft/vscode-python/issues/6594
https://github.com/microsoft/vscode-python/issues/7574

TensorFlow を使っている場合、import tensorflow as tf するだけで色々 Warning だったりが出てしまいますが、それが原因だったようです。

解決策

上記 issue の通りです。TensorFlow の出力を制御するため、次のようなファイルを .env という名前でプロジェクトに置きます。

.env
TF_CPP_MIN_LOG_LEVEL='2'

TF のログ出力を制御するための環境変数です。2を設定することで、WARNINGまでは出なくなります。3にするとエラーも出なくなります。

他の種類の標準出力もなんらかの方法で出ないようにできれば、対策できそうです。

以上です。原因が標準出力だということに気づくのに時間かかったので、参考になれば...

0
1
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
1