2016-05-10 7 views
2

私はメルドas described hereインストールしていmeld`実行:/usr/bin/meldはこれを持って実際にPythonの構文エラーがたて `インストール

File "/usr/bin/meld", line 47 
    print _("Meld requires %s or higher.") % modver 
     ^

そして:私はこのエラーが表示されますmeldを実行しようとすると、しかし

sudo yum install intltool itstool gir1.2-gtksource-3.0 libxml2-utils 

をコード:

def missing_reqs(mod, ver): 
    modver = mod + " " + ".".join(map(str, ver)) 
    print _("Meld requires %s or higher.") % modver 
    sys.exit(1) 

私はCentOS 6.7、Python ve rsion 3.3.5。

ここで間違っていることについてアドバイスできますか?


EDIT:

ここで逐語的に、コマンドラインです:python2だけのようで文が

import sys 
if "--pychecker" in sys.argv: 
    sys.argv.remove("--pychecker") 
    import os 
    os.environ['PYCHECKER'] = "--no-argsused --no-classattr --stdlib" 
     #'--blacklist=gettext,locale,pygtk,gtk,gtk.keysyms,popen2,random,difflib,filecmp,tempfile' 
    import pychecker.checker 
# 
# i18n support 
# 
sys.path[0:0] = [ "/usr/share/meld" 
] 
import paths 
import gettext 
_ = gettext.gettext 

gettext.bindtextdomain("meld", paths.locale_dir()) 
gettext.textdomain("meld") 

# Check requirements: Python 2.4, pygtk 2.8 
pyver = (2,4) 
pygtkver = (2,8,0) 

def missing_reqs(mod, ver): 
    modver = mod + " " + ".".join(map(str, ver)) 
    print _("Meld requires %s or higher.") % modver 
    sys.exit(1) 

if sys.version_info[:2] < pyver: 
    missing_reqs("Python", pyver) 
+0

@EricRenouf:スクリプトが含まれています。完全なトレースバックには上記の行とインポート文があります。 – Michael

+1

これはPythonではなく、Python 2の構文です。3 –

+0

@EricRenouf:Ouch!私はPython 3が下位互換性を失ったことに気付かなかった。今は何ですか? – Michael

答えて

1

print次のとおりです。ここで

$ meld 
    File "/usr/bin/meld", line 47 
    print _("Meld requires %s or higher.") % modver 
     ^
SyntaxError: invalid syntax 

meldスクリプトの一部でありますあなたのスクリプトは:

print _("Meld requires %s or higher.") % modver 

しかし、あなたはprint文はむしろprint()機能を持っていないpython3を使用してスクリプトを解釈しています。

をすべてprint()に置き換えることができます。これは何も破損しないことを望みますが、とにかく良い解決策ではありません。より良い

だけpython2をインストール:

sudo yum install python2 

と通訳としてpython2を使用しています。

+0

さて、Python 3に依存する私のマシンには、たくさんのツールがインストールされています。 '#!python'が突然python 3を呼び出すことからPython 2に変わるので、Python 2のインストールは影響しませんか? – Michael

+0

@Michael Python2をパスで呼び出すことはできません。 '/usr/bin/python2'..itはPython3の現在のシンボリックリンクを削除してはいけません。あなたが編集的な場合は、virtualenvにインストールすることができます。 – heemayl

+0

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