在Debian Squeeze上安装Mercurial:hg给出了“找不到mercurial libraries”错误

时间:2011-11-17 16:06:48

标签: mercurial debian

在Debian Squeeze上看似成功安装后(通过apt-get install mercurial),hg拒绝启动,出现此错误:

root@pe-test:/tmp/example.com# hg
abort: couldn't find mercurial libraries in [/usr/bin /usr/lib/python2.6 /usr/lib/python2.6/plat-linux2 /usr/lib/python2.6/lib-tk /usr/lib/python2.6/lib-old /usr/lib/python2.6/lib-dynload /usr/local/lib/python2.6/dist-packages /usr/lib/python2.6/dist-packages /usr/lib/pymodules/python2.6]
(check your install and PYTHONPATH)

我能让它工作的唯一方法是通过pip install安装mercurial,但我不认为这是正确的方法。

3 个答案:

答案 0 :(得分:24)

我在Debian bug跟踪器中找到了this bug:它描述了完全相同的问题。以下步骤解决了问题:

  

debsums -c python-support显示没有差异,但重新安装   重新安装mercurial和mercurial-common之前的python-support   实际上解决了这个问题

所以你可以尝试以下方法:

apt-get --reinstall install python-support
apt-get --reinstall install mercurial mercurial-common

显然问题是python支持触发器没有正确运行,但是bug没有给出任何理由。希望下面的命令也能解决你的问题。

<强>更新

如多条评论所述,运行dpkg-reconfigure似乎已足够:

dpkg-reconfigure python-support

答案 1 :(得分:1)

确保你的python版本相同...... 或者在/usr/bin/python中以适当的版本创建链接,问题将得到解决。

root:~# which python

/usr/bin/python

root:~# ll /usr/bin/python

lrwxrwxrwx 1 root root 9 Dec 9 2015 /usr/bin/python -> python2.7*

root:~#

答案 2 :(得分:0)

我有同样的错误信息,但krtek答案中的解决方案对我不起作用。我的问题是我安装了几个版本的python。通过sudo update-alternatives --config python选择正确的python版本为我解决了这个问题。