LoginSignup
16
22

More than 5 years have passed since last update.

Pythonを2から3に切り替えよう!!

Posted at

はじめに

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のシステムでデフォルトがasciiiPython v2だと問題が起きるみたい。
しかも、2020年にはpython 2のサポートも終了するとのこと。
デフォルトの文字コードを変えるより、デフォルトがutf-8Python v3に切り替えたほうが良さそうだね。
それじゃあ、やっていきますか!!

参考文献

それでもPythonのversionを切り替えたい

v2からv3へ切り替え

現状確認

Screenshot from 2018-12-14 15-07-09.png
Screenshot from 2018-12-14 15-07-18.png

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へ

pyenvpython3と同じバージョンをインストール。
たぶんそれがLTSだと思うし。

$ pyenv install 3.6.7

そして、それをPC全体に適用させる。

$ pyenv global 3.6.7

Screenshot from 2018-12-14 15-32-07.png

…できてないじゃん。

問題解決

検索してみると解決策発見。
【pyenv】ubuntu16.04でのpython環境の構築

つまり、パッケージが色々足りんとのこと。

まずは

$ sudo apt install zlib1g-dev

それでもう一回。

$ pyenv install 3.6.7

…できたのか?

Screenshot from 2018-12-14 16-05-44.png

(できて)ないです。

エラーを見てみると、まだ足りないパッケージがありそう。

$ sudo apt install libssl-dev

終わったら、もう一回。

$ pyenv install 3.6.7

Screenshot from 2018-12-14 16-14-07.png

できたっぽいね。

環境に適用

$ pyenv global 3.6.7
$ python --version

これでOK!!

16
22
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
16
22