2014年9月25日木曜日

python2→3はマジで困る

python3で出来てpython2で出来ないことがあるのはわかるけど

python2で出来たことがpython3ではできなくなってることは理解不能。

例えば:

python2.7では

>>> print 'Parsing %s...'

Parsing %s...

と無事できるのに

python3.4でやってみると

>>> print 'Parsing %s...'
  File "<stdin>", line 1
    print 'Parsing %s...'
                        ^
SyntaxError: invalid syntax

っとなる。

自分のコードなら3用に簡単に書き換えられるけど2をベースにしたモデル屋さんのソースコードとなると書き換えてとは簡単には頼めない。

まじで困る。せっかく3.4に必要なモジュールインストールしてpythonのデフォルトにしたのにこれじゃまた2に逆戻りせざるを得ないじゃないか…。

sudo port select --set python python27

↑pythonコマンドで起動されるpythonを3.4から2.7に変更。

sudo port install py27-netcdf4 py27-matplotlib py27-scipy py27-numpy py27-yaml

↑必要そうなmoduleをインストール。

以上設定変更したら無事以下のスクリプトを走らせることができた。

python parse_standard_variables.py

0 件のコメント:

コメントを投稿