Django

Pythonエンジニア ファーストブックでSyntaxError: Generator expression must be parenthesizedが出たときの対処方法

投稿日:

python engineer first book, SyntaxError: Generator expression must be parenthesized

第6章のDjangoによるWebアプリケーション開発で、293ページ目の下部に掲載されているサンプルコードを実行すると、

SyntaxError: Generator expression must be parenthesized

が表示されます。

これを解決するには、Djangoのバージョンを1.1.17にしてください。

この解決策はstackoverflowに載っていたもので、参照元URLは以下です。エラー文そのままで検索すれば一番上に出てきますが。

https://stackoverflow.com/questtions/51265858/syntaxerror-generator-expression-must-be-parenthesized

原因はPython 3.7とDjango1.11.16以下の非互換性らしいです。試しにPython 3.7とこの記事執筆時点でのDjango最新バージョン2.2.3でサンプルコードを実行してみましたが、また違ったエラーが出ました。

TypeError

フレームワーク側ではなくサンプルコード側のTypeErrorなので、Django 2.2.3にバージョンアップするまでに加えられた記述方法の変更箇所が原因なのでしょう。おそらく。

この「Pythonエンジニア ファーストブック」のサンプルコードでは、使用するDjangoのバーションを1.11.3としていますが、本の中ではPython 3.6.1を使用していたので、一番の原因は本の通りにやらなかった私のわがままでした。

-Django
-, ,

Copyright© ユビオキバ , 2024 All Rights Reserved.