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

sid*_*e2k 11 mercurial debian

在Debian Squeeze(via 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)
Run Code Online (Sandbox Code Playgroud)

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

krt*_*tek 25

我在Debian bug跟踪器中发现了这个错误:它描述了完全相同的问题.以下步骤解决了该问题:

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

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

apt-get --reinstall install python-support
apt-get --reinstall install mercurial mercurial-common
Run Code Online (Sandbox Code Playgroud)

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

更新

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

dpkg-reconfigure python-support
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.你帮帮我了 这解决了这个问题:dpkg-reconfigure python-support (2认同)