Python 语法错误 运行 新安装的 `meld`
Python syntax error running freshly installed `meld`
我正在安装 meld as described here:
sudo yum install intltool itstool gir1.2-gtksource-3.0 libxml2-utils
但是,当我尝试 运行 meld
时出现此错误:
File "/usr/bin/meld", line 47
print _("Meld requires %s or higher.") % modver
^
确实 /usr/bin/meld
有这个代码:
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 版本 3.3.5。
你能告诉我这里做错了什么吗?
编辑:
这是命令行,逐字记录:
$ meld
File "/usr/bin/meld", line 47
print _("Meld requires %s or higher.") % modver
^
SyntaxError: invalid syntax
这是 meld
脚本的一部分:
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)
print
是 python2
中的语句,就像您的脚本具有:
print _("Meld requires %s or higher.") % modver
但是您正在使用 python3
解释脚本,它没有 print
语句而是具有 print()
函数。
您可以尝试将所有 print
替换为 print()
,希望不会出现其他问题,但无论如何这都不是一个好的解决方案。
最好只安装 python2
:
sudo yum install python2
并使用python2
作为解释器。
我正在安装 meld as described here:
sudo yum install intltool itstool gir1.2-gtksource-3.0 libxml2-utils
但是,当我尝试 运行 meld
时出现此错误:
File "/usr/bin/meld", line 47
print _("Meld requires %s or higher.") % modver
^
确实 /usr/bin/meld
有这个代码:
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 版本 3.3.5。
你能告诉我这里做错了什么吗?
编辑:
这是命令行,逐字记录:
$ meld
File "/usr/bin/meld", line 47
print _("Meld requires %s or higher.") % modver
^
SyntaxError: invalid syntax
这是 meld
脚本的一部分:
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)
print
是 python2
中的语句,就像您的脚本具有:
print _("Meld requires %s or higher.") % modver
但是您正在使用 python3
解释脚本,它没有 print
语句而是具有 print()
函数。
您可以尝试将所有 print
替换为 print()
,希望不会出现其他问题,但无论如何这都不是一个好的解决方案。
最好只安装 python2
:
sudo yum install python2
并使用python2
作为解释器。