atomエディタでatom-runnerを使用してPythonプログラムを実行する場合、print()関数などで日本語を表示すると次のようなエラーになります。
Traceback (most recent call last):
File “/Users/o2/Documents/Work/Python2017s/Chap1/Chap1Samples/1-5/tmp.py”, line 1, in
print(“\u3053\u3093\u306b\u3061\u306f”)
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-4: ordinal not in range(128
対応策
1) init.coffee(「Atom」メニュー「起動スクリプト」)の修正
次のようなステートメントを加えます。
process.env.PYTHONIOENCODING = “utf-8”;
2) Python3を使用する場合にはconfig.scan(~/.atom/config.cson)を修正
次の記述を追加します。
runner:
scopes:
python: “python3”
3) ウチの環境(macOS Sierra)では(1)(2)を行ってもエラーが表示されました。
「デベロッパーツール」で確認したところ、起動時にbashの環境変数を読み込んでいました。~/.bashrcの「.nvm」の設定とぶつかっていたようで、その部分を削除したところ無事日本語が表示されるようになりました。
大津様
こんにちは!突然のメール失礼いたします。
卒業研究の資料集めのためAtom-runnerを使用し始めたのですがエラーが出てしまい、私も大津様と同じmac使用なので、症状が同じの大津様に質問したいことがありメールさせていただきました。
(1)(2)を試させていただきましたが、それでもダメで(3)の作業に移りたいのですが、PCに不慣れの為やり方がよくわからなくメールさせていただきました。
~/.bashrcの「.nvm」の設定とぶつかっていてそれを削除とはどのようにやるのでしょうか?
お手数かけますが教えていただけたら助かります。お返事お待ちしております。
Ito erika
こんちちは、
私の場合、ホームディレクトリの下のBashの設定ファイル「.bashrc」のnode.jsの設定とぶつかっていました。
とりあえず、ターミナルで
mv ~/.bashrc ~/.bashrc.old
などとして、.bashrcを別名にして見ると確認できると思います。