はじめに
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. エラー発生時の変数Exception
のmessage
が利用できない
これは見逃すとエラー発生時のみしか発生しないバグを含んでしまうので、気をつけてください。
最後に
他にも色々とあるかと思いますが…
ご指摘やご意見ある方はコメント部分にください。
ありがとうございました。