GAEのサービスがデプロイできなかったときの話
(ほかの記事をご覧になって、えっ「ぱいそんとともだちになりたい」とか言ってる人が??GAE???とか思われるかもしれませんが、間違いなくぐーぐるあっぷえんじんの話です。分不相応な仕事をしています。)
結論
requirements.txtの文字コードがUTF-16だった。
UTFー8に直したら通った。
症状
「GAEにアプリをデプロイしようとした。アップロードは通ったが、文字コードのエラーでサービスのアップデートが止まった」
という状態。
テストアプリのデプロイは通ったのに、本番アプリをデプロイしようとしたら、「Unicodeはウニャウニャ(ウニャウニャのあたりはよくわからない)の文字をデコード出来なかったよぉ」と言われて、アップロードこそできたもののサービスのアップデートが止まりました。
対処
エラーメッセージ内にrequirementsに入ってるモジュールのバージョンを確認してちょ、みたいなことが書いてあったので開いてみたら、文字コードがUTF16だった。(モジュールのバージョンは関係なかった)
直してみたら通った。解決!
そもそも何でUTF16になってたの?
requirements.txtを、手書きじゃなくてpip freezeで書き出していたからだと思う。
かといって手書きするのはバージョン管理とかの視点であんまりしたくないし、書き出した後文字コードの確認を忘れない、がベターだろうか。
書き出しの時に文字コード指定できるのかな?(できるとしても忘れそうだけど…)
この記事が気に入ったらサポートをしてみませんか?