我成功编译了mercurial如下: ...
copying build/scripts-2.7/hg -> /usr/local/bin
changing mode of /usr/local/bin/hg to 755
running install_egg_info
Writing /usr/local/lib/python2.7/site-packages/mercurial-2.8.1-py2.7.egg-info
as3:~/mercurial-2.8.1# cd ~
as3:~# hg clone http://hg.cat-v.org/werc/
Traceback (most recent call last):
File "/usr/bin/hg", line 25, in <module>
mercurial.util.set_binary(fp)
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 103, in __getattribute__
return getattr(self._module, attr)
AttributeError: 'module' object has no attribute 'set_binary'
as3:~#
如何解决?tks。 我的python版本:2.7.6
答案 0 :(得分:4)
请注意,您已将源代码中的mercurial安装到/usr/local/bin
,但错误消息提及/usr/bin/hg
。这意味着您在/usr/bin/hg
下安装了不同版本的mercurial主脚本,然后尝试使用/usr/local
中的新mercurial库。发生错误,因为2是不兼容的。
要解决此问题,请从/usr/bin
删除较旧的mercurial。您可能还需要在shell中调用rehash
,以便根据shell调用它。
如果mercurial不起作用,则意味着/usr/local/bin
不在您的PATH中。如果是这种情况,你需要修复PATH,或者只需要符号链接新的hg,如下所示:
# ln -s /usr/local/bin/hg /usr/bin
但这需要root访问权限,例如,通过sudo调用它。