在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,但我不认为这是正确的方法。
答案 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版本为我解决了这个问题。