Mercurial 1.5.4 使用 Ubuntu 10.04 时找不到 osutil 模块

Mercurial 1.5.4 使用 Ubuntu 10.04 时找不到 osutil 模块

我正在使用 Ubuntu 10.04,我刚刚从源代码安装了 Mercurial 1.5.4(参见问题由于我遇到了一些安装问题)。但是现在,当我调用:

hg

我得到以下信息:

  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

然而

find /usr/local/lib -name osutil* -print

返回

/usr/local/lib/python2.6/dist-packages/mercurial/osutil.so

我认为可以通过类似于 Perl 和 XS 的 Python 脚本加载它。除了添加(请参阅上面链接中的答案)之外,我的 Python 安装与从 9.10 升级到 10.04 后 Ubuntu 10.04 的python-dev安装完全相同。

这是怎么回事?

答案1

这通常意味着您需要mercurial-common从 Ubuntu 中卸载该软件包——它可能位于 Python 搜索路径的较早位置,并导致类似这样的奇怪问题。

答案2

http://mercurial.808500.n3.nabble.com/Mercurial-1-5-2-released-td806821.html,你需要 python-dev 包。例如,在 Debian 或 Ubuntu 上,你可以使用以下命令安装它

sudo apt-get install python-dev

如果这不能立即起作用,那么重新执行 Mercurial 源安装,这可能会解决问题(对我来说确实如此)。

答案3

如果你在 Windows 下运行,你会在“\site-packages\mercurial\”内找到一个文件夹“pure”。里面有一堆 .py(osutil.py 是其中之一)

只需将“pure”内的所有文件复制到“mercurial”文件夹即可!它就开始工作了。

希望这可以帮助!

答案4

只是为了帮助别人,我刚刚解决了osutil.pyUbuntu 13.04 中缺失的问题,没有它 mercurial 就无法运行。

我必须安装 python-sphinx (及相关内容)。这看起来像是 mercurial 包中的依赖项检查失败。

相关内容