LoginSignup
1
4

More than 5 years have passed since last update.

VisualStudioCodeでPython実行した時にハマったメモ

Last updated at Posted at 2016-11-11

環境

  1. MacでPython3系、virtualenvを使ってライブラリを切り替えてる
  2. VisualStudio側の設定

    拡張機能: Python
    workspace設定:

setting.json
    "python.pythonPath"="~/.virtualenvs/[virtualenv名]/bin/python"

問題発生・・・

macのターミナルで実行する分には全く問題はないが、VisualStudio側の Run Python File in Terminal で実行した場合は日本語のコメントやらなんやらが入るとUnicodeEncodeError・・・
もちろんMacでのターミナルでは実行できているのでVisualStudioのPython実行ターミナル側の問題というのはわかった。

解決?

とりあえず、

hogehoge.py
import sys
print(sys.stdout.encoding)

を実行したところ、Mac側ターミナルでは「utf-8」、VisualStudioでは「US-ASCII」が表示。なんじゃそりゃ。

なので、標準出力のエンコーディング変更を先ほどエラーになってたファイルに追加してみたら、ちゃんと実行可能。

とはいえ、毎回記入するのは面倒なので、sitecustomize.pyファイルを作成することに。どうせvirtualenvだし、いらなくなったら消せば良いよねー、というわけで以下のファイルを作成、virtualenvで指定しているsite-packages配下に配置。

sitecustomize.py
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

無事、ターミナル上だけでなく、VisualStudioCodeのターミナルでも日本語が使えるようになりましたとさ。

Python実行の拡張機能で設定している部分での設定で本来はいじる部分だとは思うので、見つけたら更新します。(力つきるかもしれませんが。)

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4