2014-01-09 40 views
3

我成功编译水银如下: ...如何解决“AttributeError:'模块'对象没有属性'set_binary'”?

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? 我的蟒蛇版本:2.7.6

回答

4

请注意,您已将mercurial从源安装到/usr/local/bin,但错误消息提到/usr/bin/hg。这意味着您在/usr/bin/hg下安装了不同版本的mercurial主要脚本,然后尝试使用/usr/local中的新mercurial库。发生错误,因为2不兼容。

要解决此问题,请从/usr/bin删除旧的mercurial。您可能还需要在您的外壳中调用rehash,以便它可以拾取它,具体取决于外壳。

如果mercurial不起作用,那么意味着/usr/local/bin不在您的PATH中。如果是这样的话,你就需要修复的路径,或者只是符号连接新汞柱,就像这样:

# ln -s /usr/local/bin/hg /usr/bin 

但是,这将需要root访问权限,例如,称它通过sudo的。

+0

嗨,现在没关系。 – fisherman

+2

太棒了。虽然不是评论,但我们通常通过接受答案来证实某些工作是有效的。但最重要的是,现在你很好。 –

+0

谢谢,我确实以bin的方式链接到usr/local,它的工作 –

相关问题