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?

【Fastapi】エラー「No module named 'httpx' while import TestClient」の解決方法

Posted at

概要

fastapiのバージョンをアップグレード後、テストを行ったら以下のエラーになりました。

ModuleNotFoundError: No module named 'httpx' while import TestClient

こちらの原因と解決方法を紹介します。

前提

TestClientとは、FastAPIのエンドポイントをテストすることができるツールです。

今までhttpxというモジュールをインポートせずとも利用できていました。
しかし、0.73.0から0.112.1にバージョンアップを行なった際に上述のエラーが出ました。

原因

原因は、0.87.0からTestClientHTTPXをベースにするように変更があったため、でした。
以下の通り、従来はrequestsをインポートしていればよかったのがhttpxをインポートする必要が生じるようになりました。

Now the TestClient is based on HTTPX instead of Requests.
引用元:https://github.com/fastapi/fastapi/releases/tag/0.87.0

解決策

ということで、httpxをインストールしてあげれば問題ないです。

pip install httpx

私はdockerコンテナでrequirements.txtを利用してライブラリのバージョン指定でを一括インストールしていたので、以下のように追記しました。

httpx==0.27.2

これで問題なくテストを実行できるようになりました。

参考:

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?