実現したいこと
import sounddevice
しつつ、標準エラー出力を生かしたい。
前提
Pythonでsounddeviceを使ってプログラムを組んでいます。
ドキュメントの記載などと異なり、初期化処理を終えても標準エラー出力が死んだままになってしまいます。
該当のソースコード
python
1from sys import stderr 2 3print("Before", file=stderr)4# -> Before5 6import sounddevice 7 8print("After", file=stderr)9# (無反応)
試したこと
Github issueの調査,
及び
This temporarily forwards messages from stderr to
/dev/null
と記載されている_initialize
関数 (sounddevice.py) の無効化で改善すること。
sounddevice.py line:2839 付近
python
1 if old_stderr is not None:2 _os.dup2(old_stderr, 2)3 _os.close(old_stderr)
が、エラー出力の復旧処理だと思うのですが…
補足情報
Windows 11
Python 3.9.12
sounddevice 0.4.6
0 コメント