python教程—我如何正确地安装达利奇让hg-git在Windows上工作?-Python实用宝典

python教程—我如何正确地安装达利奇让hg-git在Windows上工作?

我尝试在Windows上使用hg-git Mercurial扩展(具体来说是Windows 7 64位)。我安装了Mercurial和Git。我安装了Python 2.5(32位)。

我尝试在Windows上使用hg-git Mercurial扩展(具体来说是Windows 7 64位)。我安装了Mercurial和Git。我安装了Python 2.5(32位)。

我按照 http://hg.git.github.com/ 上的说明安装扩展。最初的easy_install失败了,因为它在没有Visual Studio 2003的情况下无法编译dulwich。

我手动安装达利奇的方法是:

  • git克隆git: / /git.samba.org/jelmer/dulwich.git
  • cd达利奇
  • c:Python25python setup.py——纯安装

现在,当我运行easy_install hg-git时,它成功了(因为dulwich依赖项得到了满足)。

在我C:UsersusernameMercurial.ini,我:

    [extensions] hgext.bookmarks = hggit =

当我在命令提示符中键入“hg”时,我看到:
***导入扩展名hggit失败:没有名为hggit的模块

在我的c:Python25文件夹下,我看到的对hggit的惟一引用是Libsite-packageshg_git-0.2.1-py2.5.egg。这应该是在某个地方提取的,还是应该按原样工作?

由于失败了,我尝试从hg-git页面获得“更复杂”的指令,该指令建议克隆git://github.com/schacon/hg-git.git,并在Mercurial配置中引用该路径。我克隆了repo,并更改了我的扩展文件如下:

    [extensions] hgext.bookmarks = hggit = c:codehg-githggit

现在,当我运行hg时,我看到:***从c:codehg-githggit: No module named dulwich.errors导入扩展名hggit失败。

这告诉我它正在查找hggit,因为我可以在hg-githggitgit_handler.py中看到它调用了hggit

    from dulwich.errors import HangupException

这让我觉得dulwich没有正确安装,或者没有安装在路径上。

<强>更新:< /强>

从Python命令行:

    import dulwich

生成导入错误:没有名为dulwich的模块

但是,在C:Python25Libsite-packages下,我确实有一个dulwich-0.5.0-py2.5。显示正在填充的egg文件夹。这是由上面提到的步骤创建的。是否需要采取额外的步骤使其成为Python“path”的一部分?

从Python命令行(如其中一个答案所示):

    import pkg_resources pkg_resources.require('dulwich')

生成[dulwich 0.5.0 (c:python25libsite-packagesdulwich-0.5.0-py2.5.egg)]

这说明了什么?导入多维奇失败了,但显然pkg_resources可以找到它。我该怎么处理这些信息呢?

回答

这让我觉得达利奇不是
安装正确,或未安装在
路径。

你是绝对正确的。针对Windows的Mercurial二进制发行版是“冻结的”——它们使用与之绑定的Python代码和解释器,因此独立于安装在系统PYTHONPATH中的包。当您在Mercurial中指定hggit扩展名的路径时。在ini中,hg尝试使用直接路径导入它,但是dulwich不是hg显式导入的,也没有与它的绑定,所以导入失败。

可以将Dulwich和HgGit同时添加到与hg.exe一起安装的library.zip中,但是对我来说,最好的方法是从源代码开始安装所有东西,包括Mercurial,然后使用安装在Python脚本中的.bat文件执行命令。在这种情况下,你需要:

  1. 安装Mercurial from source。这将构建“纯”版本,因为Windows用户通常没有用于编译C speed的Visual Studio或其他编译器。
  2. 安装Dulwich—对于Git和Dulwich,我将使用最新的主干snapshot

    py——纯安装

  3. 安装最新的HgGit 快照

    python setup . py install

  4. 编辑Mercurial.ini以启用hggit =

  5. 使用Python脚本hg.bat启动Mercurial

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
1

发表评论