ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

Python:setDeamon(True)のワーニングの対処

2020年に開発し2021年に運用した、Pythonのプログラムは、Python 3.6で動作していました。
ajya.hatenablog.jp

2022年の運用では、Ubuntu 20.04 LTSに最初から導入されているPython 3.8か、最新のPython 3.10で動作させる予定です。
Python 3.8で起動させた際には、エラー、警告ともに表示されませんでしたが、Python 3.10で動作させたら、警告が表示されました。

Python
Photo by Chris Ried on Unsplash

setDeamon(True)でワーニングが表示される

Python 3.10では、setDeamon(True)でワーニングが表示されています。
動作はしているので、問題はありませんが、ワーニングが表示されるのは気持ち悪いです。

検索すると、Python 3.10では、setDeamon()メソッドは、非推奨になっています。
docs.python.org

Python 3.9では、setDeamon()メソッドは、非推奨になっていません。
docs.python.org

Python 3.5より前から、setDeamon()メソッドは、存在はしていたようです。
docs.python.org

Python 3.9のsetDeamon()メソッドの説明には

daemon に対する古い getter/setter API; 代わりにプロパティを直接使用してください。

と書かれています。

「プロパティを直接使用」とは、具体的にどういうことだ?と試しに、

.setDeamon(True)

.deamon = True

に変更したら、ワーニングが表示されなくなりました。


検索すると、setDeamon()メソッドを使ったサンプルコードはたくさん見つかります。
最新のPythonではワーニングが表示されるので、戸惑う人は多いのではないかと思います。