python2からpython3に対応させる時に詰まった事

はじめに

python2からpython3に環境を切り替えたのですが、色々と詰まった部分があったのでここに記載しておきます。

#詰まった部分

1. pipが異なる

当たり前ですが…
linux系でやっているとpipがpython2でpip3がpython3に紐付いています。
必要なモジュールはpip3でインストールし直しましょう。

pip install xxxx  # <-X  
pip3 install xxxx # <-O  

2. 対応しないモジュールがある

例えばSimpleHTTPServerではなくhttp.serverなどになっています。
まぁ実行時に怒られるので分かると思いますが…
ちなみにSimpleHTTPServerの以降につては、http.server内に似たクラスがありますので、そちらを利用すれば簡単に移管できます。

3. bytes型の登場

これまで利用していたモジュールで文字列を返した関数が、これになっている例が多いです。
こんな感じで、文字コード指定して文字列に直してあげましょう

# x = bytes型  
x.decode('utf-8')  

4. エラー発生時の変数Exceptionmessageが利用できない

これは見逃すとエラー発生時のみしか発生しないバグを含んでしまうので、気をつけてください。

#最後に
他にも色々とあるかと思いますが…
ご指摘やご意見ある方はコメント部分にください。

ありがとうございました。