Isso geralmente significa que você precisa desinstalar o pacote mercurial-common
do Ubuntu - ele pode ser anterior no caminho de pesquisa do Python e causar problemas estranhos como esse.
Estou usando o Ubuntu 10.04 e acabei de instalar o Mercurial 1.5.4 a partir do código-fonte (veja este pergunta para algum problema de instalação que eu tive). Agora, no entanto, quando invoco:
hg
Eu recebo o seguinte:
File "/usr/local/bin/hg", line 27, in <module>
mercurial.dispatch.run()
...
File "/usr/lib/pymodules/python2.6/mercurial/demandimport.py", line 47, in _load
mod = _origimport(head, globals, locals)
ImportError: No module named osutil
ainda
find /usr/local/lib -name osutil* -print
retorna
/usr/local/lib/python2.6/dist-packages/mercurial/osutil.so
que eu assumo pode ser carregado por scripts Python semelhantes a Perl e XS. Com a exceção de adicionar python-dev
(veja a resposta no link acima), minha instalação em Python é exatamente como foi com o Ubuntu 10.04 após a atualização para 10.04 a partir de 9.10.
O que está acontecendo?
Isso geralmente significa que você precisa desinstalar o pacote mercurial-common
do Ubuntu - ele pode ser anterior no caminho de pesquisa do Python e causar problemas estranhos como esse.
Por link , você precisa do python-dev pacote. Por exemplo, no Debian ou no Ubuntu, você o instalaria com
sudo apt-get install python-dev
Se isso não funcionar imediatamente, refaça a instalação da fonte do Mercurial, e isso pode resolver o problema (foi o que aconteceu comigo).
se você estiver rodando no windows, você encontrará uma pasta "pure" dentro de "\ site-packages \ mercurial \". Dentro dele, há um monte de .py (osutil.py é um deles)
Copie todos os arquivos dentro de "pure" para a pasta "mercurial" e DONE! Apenas começa a funcionar.
Espero que isso ajude!
Apenas para ajudar os outros, eu apenas resolvi a falta do osutil.py
no Ubuntu 13.04, sem o qual o mercurial não funcionaria.
Eu tive que instalar o python-sphinx (e relacionado). Isso parece uma falha de verificação de dependência no pacote mercurial.