学びをアウトプットするブログ

PycharmでFlaskを使ってみようと思ったらLocaleエラーがでたので四苦八苦してみた

はい。タイトルの通りなんですけど、Windows10にPycharmをインストールして使っています。 PythonはWSL ubuntu16.04で動かしています。

Flaskでハローワールドをやってみようと思い、使ってみたのですが、「Run」でファイルを実行しようと思ってもエラーが出てしまいます。 ターミナルで直接実行すると特に問題なく動くのですが。

エラーの内容は英語なのでよくわからないのですが(笑)。でlocaleを変えてみてね的なコメントがでてきていたんです。 そもそもエラーが何て書かれていたのかメモすればよかったのですが。すっかり忘れとりました。

export LC_ALL=C.UTF-8
export LANG=C.UTF-8

こうしてねって感じの。

bashrcに書くも変化なし

とりあえず、wsl ubuntuのbashrcに上記内容を記入して再起動してみたのですが、変化なし。

$ locale

で表示される内容は「LC_ALL=C.UTF-8」になっているんですけど。 それでもエラーは変わらず。

これはbashrcに書いてもだめんじゃないかということでやり方を変えてみることに。

localeの変更

参考にしたのはWindows 10のBash on Windowsのロケールを英語モードに切り替える

#利用可能なロケール一覧を表示
$ locale -a
# C.UTF-8があったので切り替える
$ sudo update-locale LANG=C.UTF-8
# 切り替わったか確認
$ locale

これでwslを再起動。 Pycharmも再起動で再び「Run」。すると無事に動く。ところが、一部文字化けしていて読めない。 これはまさか「ja_JP」にすれば良いのでは?と思い。再びlocale変更

$ locale -a

しかし、ここで問題が。なんとja_JP.utf-8は入っておりません。マジカ。 ということで日本語パッケージのインストールから。

$ sudo apt install language-pack-ja
$ locale -a
#ここでja_JP.utf8が表示された
$ sudo update-locale LANG=ja_JP.utf-8

またまた再起動。Pycharmも再起動。 そしてRunすると無事に文字化けもせずに動きました。

なんのことはない。日本語パッケージがインストールされていなかったのとlocaleをja_JPにしていなかたのが問題だったみたいです。 時間を無駄にした。