問題
python app.py
をsudo python app.py
で実行すると、例えvenv環境にいてもシステムのpythonが呼び出される。
この不手際によって、f-stringsでのシンタックスエラーが出たり、インポートエラーが起きたりすることがある。
インポートエラーは別のpythonが呼び出されていると気づくことが多いが、f-stringsのシンタックスエラーはわかりにくい。f-stringsはpython3からの対応でpython2は対応しておらず、システムのpythonが2系のためエラーが起きる。
解決策
Pythonをsudoで呼び出さないでください。
@syamamura さんのコメントに書いてあるとおり、使いたいpythonへのpathを指定すれば良いです😅
$ sudo /path/to/python app.py