
python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
>>> flask.__version__
'2.2.2'
から、以下へ
fastapi 0.88.0
下記コードの移行したいと望んでいます
proc = subprocess.Popen( c, shell=True, stdout=subprocess.PIPE)
while True:
line = proc.stdout.readline()
if line:
yield line
if not line and proc.poll() is not None:
break
flaskではプログラムの起動元にコード内で起動した
プロセスの出力が渡るのですがfastapiでは以下エラーがでます。
問題はどこかアドバイスいただけないでしょうか
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/home/ueda/.local/lib/python3.9/site-packages/uvicorn/protocols/http/httptools_impl.py", line 419, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/home/ueda/.local/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
return await self.app(scope, receive, send)
File "/home/ueda/.local/lib/python3.9/site-packages/fastapi/applications.py", line 270, in __call__
await super().__call__(scope, receive, send)
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/applications.py", line 124, in __call__
await self.middleware_stack(scope, receive, send)
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 184, in __call__
raise exc
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 162, in __call__
await self.app(scope, receive, _send)
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
raise exc
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
await self.app(scope, receive, sender)
File "/home/ueda/.local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
raise e
File "/home/ueda/.local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/routing.py", line 706, in __call__
await route.handle(scope, receive, send)
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/routing.py", line 276, in handle
await self.app(scope, receive, send)
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/routing.py", line 66, in app
response = await func(request)
File "/home/ueda/.local/lib/python3.9/site-packages/fastapi/routing.py", line 235, in app
raw_response = await run_endpoint_function(
File "/home/ueda/.local/lib/python3.9/site-packages/fastapi/routing.py", line 163, in run_endpoint_function
return await run_in_threadpool(dependant.call, **values)
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
return await anyio.to_thread.run_sync(func, *args)
File "/home/ueda/.local/lib/python3.9/site-packages/anyio/to_thread.py", line 31, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "/home/ueda/.local/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
return await future
File "/home/ueda/.local/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 867, in run
result = context.run(func, *args)
File "/home/ueda/for_ssh_radiko/./radiko_fastapi.py", line 111, in audio
return Response(gen_sound())
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/responses.py", line 54, in __init__
self.body = self.render(content)
File "/home/ueda/.local/lib/python3.9/site-packages/starlette/responses.py", line 62, in render
return content.encode(self.charset)
AttributeError: 'generator' object has no attribute 'encode'
proc lineなどの変数が、str型で認識されているのかと
proc = b''
line = b''
の宣言してみましたが、エラーは発生します。
No.1ベストアンサー
- 回答日時:
エラーメッセージによると、
>/home/ueda/for_ssh_radiko/./radiko_fastapi.py", line 111, in audio
return Response(gen_sound())
でエラーが発生してるので、ここらあたりがなんかあってないのでは。
なるほど、"/home/ueda/.local/lib/ のエラーばっかりだなーとながめていて見過ごしました
たしかに、fastapiの入門記事に、「デフォルトのResponseが制約あるんで、必要ならオーバーライドしな」記述がありました。
調べてみます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 教えてください 2 2023/01/04 17:50
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- その他(プログラミング・Web制作) pythonをjupiter notebookからmecabで頻出の高い単語の抽出について(Runt 1 2022/12/17 18:08
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- Ruby パイソンエラーについて 1 2022/12/24 14:07
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- オープンソース stable diffusionのインストールがうまくいきません。 1 2023/06/20 13:09
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1コールだけ鳴るけど切れる電話...
-
ラインナップとラインアップは...
-
相手側の携帯が電源切れてる時...
-
Windowsのバッチファイルで正規...
-
face book で女性の方からline ...
-
毎月記念日をlineで祝うのって...
-
遠くにいる友達とLINE交換する...
-
いきなりラインのトークに「新...
-
LINE for iPad の認証について
-
ある男子から、ライン追加され...
-
既婚女性にラインを聞くことに...
-
会社の先輩とLINE プライベート...
-
風俗に行ったとして、そこで嬢...
-
Lineを登録したことがバレました
-
生産ラインの品質を表す直行率...
-
lineのワン切り、なぜ?
-
「一番上、真ん中、下」を示す英語
-
ラインの 非表示削除について質...
-
3ヶ月前に別れた彼とはカカオト...
-
swift言語のprintln()関数で「p...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
相手側の携帯が電源切れてる時...
-
1コールだけ鳴るけど切れる電話...
-
face book で女性の方からline ...
-
ラインナップとラインアップは...
-
遠くにいる友達とLINE交換する...
-
Windowsのバッチファイルで正規...
-
よく05(04)lineって見かけるん...
-
「一番上、真ん中、下」を示す英語
-
生産ラインの品質を表す直行率...
-
python flask から fastapiへの...
-
いきなりラインのトークに「新...
-
ある男子から、ライン追加され...
-
毎月記念日をlineで祝うのって...
-
3ヶ月前に別れた彼とはカカオト...
-
タイトルの改行
-
会社の先輩とLINE プライベート...
-
まだそんなに親しくない相手と...
-
法線(normal line)はなぜそう...
-
LINEで好きな人が「笑」を全然つ...
-
2000年生まれなのですが 00line...
おすすめ情報