【问题标题】:Subversion python bindings could not be loaded无法加载 Subversion python 绑定
【发布时间】:2010-12-12 02:09:50
【问题描述】:

这是尝试将 SVN 存储库转换为 Mercurial 存储库的第 2 部分

命令是:

hg convert file://c:/svnrepository

但是,我得到的输出是:

assuming destination svnrepository-hg
initializing destination svnrepository-hg repository
file://c:/svnrepository does not look like a CVS checkout
file://c:/svnrepository does not look like a Git repo
Subversion python bindings could not be loaded
file://c:/svnrepository is not a local Mercurial repo
file://c:/svnrepository does not look like a darcs repo
file://c:/svnrepository does not look like a monotone repo
file://c:/svnrepository does not look like a GNU Arch repo
file://c:/svnrepository does not look like a Bazaar repo
file://c:/svnrepository does not look like a P4 repo
abort: file://c:/svnrepository: missing or unsupported repository

我感兴趣的行是:

Subversion python bindings could not be loaded

我已经安装了 python 2.5,并且我已经从 subversion 网站安装了 python subversion 绑定。但是还是出现这个错误

【问题讨论】:

  • 您可以从 Python 控制台执行import svn,以检查该部分是否已经工作。确保您已安装对应于 SVN 和 Python 两个版本的绑定(我知道这听起来很明显)。
  • 我在 Mac OS 上遇到了同样的问题。所谓的解决方案会导致更严重的错误:Fatal Python error: Interpreter not initialized (version mismatch?) Abort trap
  • 请参阅this answer 了解如何在 Mac OS 上安装绑定。

标签: python windows svn mercurial


【解决方案1】:

我只是想从 cmets 中拿出实际的解决方案来回答 Alex Martelli 的回答:

根据https://www.mercurial-scm.org/pipermail/mercurial/2009-May/026015.html,颠覆绑定包含在 tortoisehg 中。所以你只需要在 tortoisehg 中启用转换扩展。 – tonfa

啊哈!又向前迈了一步。我改变了我的路径,指向 TortoiseHG 中的 hg 而不是 Mercurial,这克服了这个障碍。现在它只是不认为存储库是 SVN 的,啊! ——保罗

这对我也有用。

如果您目前在 Windows 上使用标准命令行版本的 HG,具体步骤如下:

  • 安装 TortoiseHG
  • 右键单击文件/TortoiseHG/全局设置.../扩展/{检查“转换”}
  • 确保 TortoiseHG 是 hg 命令的路径:
    • WinKey+Pause/高级/环境变量/系统变量/路径
    • 从路径中删除 C:\Program Files\Mercurial
    • 确保 C:\Program Files\TortoiseHG 在那里

【讨论】:

  • 实现此目的的另一种方法似乎是使用 hg 可执行文件的完整路径。所以在我的情况下,这将是 "c:\Program Files (x86)\TortoiseHg\hg.exe" convert file:///c:/svn/repo_name
  • 感谢您在这里提供有用的帖子。
【解决方案2】:

问题在标题“从 Subversion 转换”中解释为 here

Subversion 的 Python 绑定是一个 先决条件。绑定(生成 与 SWIG)分别安装在 Windows,并且可以在 http://subversion.tigris.org/ 。笔记 你不能用 Win32 做到这一点 Mercurial 二进制文件——没有办法 安装 Subversion 绑定 到其内置的 Python 库中。所以 你需要使用 Mercurial 安装在独立的顶部 Python,你可能还需要做 类似“设置 HG=python c:\Python25\Scripts\hg" 覆盖 如果你有默认的 Win32 二进制文件 那些也安装了。对于 Mac OS X, 最简单的方法是安装 CollabNet Subversion 构建,然后 复制内容 /opt/subversion/lib/svn-python 到 python的site-package目录 安装。

不幸的是,使用hgsubversion 显然 hg + svn + win 并没有变得更容易,至少从 this postthis discussion 来看(我没有安装 Windows 来尝试帮助,叹息)。

【讨论】:

  • 天哪,这很复杂。他们不会让这一切变得容易!我什至不知道“在 Python 之上构建 Mercurial”是什么意思——我都安装了它们。
  • 根据:mercurial-scm.org/pipermail/mercurial/2009-May/026015.html,颠覆绑定包含在 tortoisehg 中。所以你只需要在 tortoisehg 中启用转换扩展即可。
  • 啊哈!又向前迈了一步。我改变了我的路径,指向 TortoiseHG 中的 hg 而不是 Mercurial,这克服了这个障碍。现在它只是不认为存储库是 SVN 的,啊!
  • 哇!我们起飞了。你相信吗,这不起作用:“hg convert file://c:/svnrepository”但这确实“hg convert file://C:/svnrepository”
  • @IP 我相信正确的格式是“hg convert file:///C:/svnrepository”。请注意,文件后面是 3 个正斜杠:
【解决方案3】:
sudo apt-get install python-subversion

在 Ubuntu 上帮我解决了这个问题。

【讨论】:

  • 这让世界变得与众不同
  • 问题是针对windows的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-30
  • 2019-03-20
  • 1970-01-01
  • 2016-12-10
  • 2012-05-21
  • 2021-08-08
相关资源
最近更新 更多