はじめに
python使ってたら文字コードの問題が発生。
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
Stack Over flow:
I want to use utf-8 with python 2.7
文字コードがutf-8
のシステムでデフォルトがasciii
のPython v2
だと問題が起きるみたい。
しかも、2020年にはpython 2
のサポートも終了するとのこと。
デフォルトの文字コードを変えるより、デフォルトがutf-8
のPython v3
に切り替えたほうが良さそうだね。
それじゃあ、やっていきますか!!
参考文献
v2からv3へ切り替え
現状確認
python v3もちゃんとあるね。
pyenvの導入
参考文献によると、python
のバージョン切り替えにはpyenv
を使うのが良さそう。
pyenv
の導入の参考にさせてもらったのはこの記事。
pyenvのインストール、使い方、pythonのバージョン切り替えできない時の対処法
PCに導入
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
bash_profileの編集
$ vim ~/.bash_profile
次の内容を~/.bash_profile
に記入
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
書けたら、読み込み
$ source ~/.bash_profile
これでpyenv
が使えるようになったね。
試しに、インストールできるバージョンの一覧を表示してみるか。
$ pyenv install --version
・・・思ったよりたくさんあった。
v3へ
pyenv
にpython3
と同じバージョンをインストール。
たぶんそれがLTSだと思うし。
$ pyenv install 3.6.7
そして、それをPC全体に適用させる。
$ pyenv global 3.6.7
…できてないじゃん。
問題解決
検索してみると解決策発見。
【pyenv】ubuntu16.04でのpython環境の構築
つまり、パッケージが色々足りんとのこと。
まずは
$ sudo apt install zlib1g-dev
それでもう一回。
$ pyenv install 3.6.7
…できたのか?
(できて)ないです。
エラーを見てみると、まだ足りないパッケージがありそう。
$ sudo apt install libssl-dev
終わったら、もう一回。
$ pyenv install 3.6.7
できたっぽいね。
環境に適用
$ pyenv global 3.6.7
$ python --version
これでOK!!