pyhtonのバージョン選び
本当なら、迷わずpython3を選ぶべきなんだろうけど、
置かれている仕事の状況では、python3がベストとならない事があった。
なので、未だにpython2を使うことがよくある。
python2を使う場面
javaで実装されたpythonことjythonを使う場合。
他システムのデータを取り出すときjavaのAPIを呼び出すため、jythonを利用している。
しかし、jythonはpythonのバージョンが2.7.0なので、python2としてコーディングする必要がある。
余談だが、jythonでのコーディングでpythonのバージョン以外で気になることろは
- sqlite3モジュールがない。(sqlite.jarを使ってJDBC接続すればsqlite3に接続できる)
- JavaのStringクラスとpythonの文字列の自動変換あたりで思わぬ動作をすることがある。(文字列の結合で失敗することがある。StringBuilderなどを用いて結合すれば問題ない)
サーバーのpythonのバージョンが2.6
利用しているredhatサーバのpythonのバージョンが2.6。サーバのモジュールのバージョン更新はなかなかできないので、2.6のまま利用している。
余談だが、python2.6でコーディングしていて気になるてん
- ”.format()でフォーマットの中括弧の中の番号を省略できない。(‘{},{}’.format(a,b)が利用できない。ちゃんと'{0},{1}’.format(a,b)という風に、数字を指定する必要がある)
共有端末のmacのpythonがバージョン2.7
動作確認用macで動作するpythonのバージョンが2.7。動作確認用端末なので設定を変更することができない。
python2で問題があるか
python2でも、特に問題はない。
コンパイルエラーは標準ライブラリのパッケージ名が異なることくらい。
実行時エラーは、文字列関連でラフに処理しているところは、strとunicodeの違いでエラーになることがある。
サラッと書いた、このstrとunicodeの違いは、気にするのが面倒なところなので、ここを考えなくて良いだけでもpython3を使うメリットは十分にあると思う。
同じタグの記事
- BOM付きUTF-8からBOMを除去するpython
- jythonのヒープメモリ設定
- Kotlin1.2.50がリリースされていた
- macOSをHigh Sierraに更新した。スクリプト実行環境のバージョンは変わったのか
- macOSをMojaveに更新した。スクリプト実行環境のバージョンは変わったか
- pathlib.Pathを調べる
- pyenvでpython環境をインストール
- pyenvとvirtualenvでpython環境を構築
- python unpack
- python3で数値のlistを文字列のlistに変換
同じカテゴリの記事
コメントを残す