我正在尝试在Windows上使用hg git Mercurial扩展(具体来说是Windows 7 64位)。我安装了Mercurial和Git。我已经安装了Python2.5(32位)。
我按照http://hg-git.github.com/上的说明安装扩展。最初的easy_安装失败,因为它无法在没有Visual Studio 2003的情况下编译dulwich。
我通过以下方式手动安装了dulwich:
现在,当我运行easy_install hg git时,它成功了(因为满足了dulwich依赖关系)。
在我的C:\Users\username\Mercurial.In I中,我有:
[extensions]
hgext.bookmarks =
hggit =
当我在命令提示符下键入'hg'时,我看到: “***导入扩展hggit失败:没有名为hggit的模块”
在我的c:\ Python25文件夹下,我看到的对hggit的唯一引用是Lib\site-packages\hg_git-0.2.1-py2.5.egg
。这是应该提取到某处,还是应该按原样工作?
由于失败,我尝试了hg git页面中的“更多相关”指令,建议克隆git://github.com/schacon/hg-git.git并引用Mercurial配置中的路径。我克隆了repo,并将扩展文件更改为:
[extensions]
hgext.bookmarks =
hggit = c:\code\hg-git\hggit
现在,当我运行hg时,我看到:**failed to import extension hg git from c:\ code\hg git\hggit:No module named dulwich.errors。
好的,这就告诉我它现在正在查找hg git,因为我可以在hggit\hggit\git\handler.py中看到它调用的
from dulwich.errors import HangupException
这使我认为德威奇没有正确安装,或没有在路径上。
更新:
从Python命令行:
import dulwich
产生Import Error: No module named dulwich
但是,在C:\ Python25\Lib\site包下,我确实有一个dulwich-0.5.0-py2.5.egg文件夹,它似乎已填充。这是由上述步骤创建的。有没有一个额外的步骤让它成为Python“路径”的一部分?
从Python命令行(如其中一个答案中建议的那样):
import pkg_resources
pkg_resources.require('dulwich')
产量[dulwich 0.5.0 (c:\python25\lib\site-packages\dulwich-0.5.0-py2.5.egg)]
那这告诉我什么?导入dulwich失败了,但显然pkg_resources可以找到它。我能用这些信息做什么?
我在http://candidcode.com/2010/01/12/a-guide-to-converting-from-mercurial-hg-to-git-on-a-windows-client/找到了一个更简单的解决方案
然后我自己找到了一个更简单的解决方案:
要在Windows上使用hg git Mercurial扩展:
要获得SSH支持,您需要PuTTY家族的plink.exe。之后,应将以下内容添加到Mercurial.ini中:
首次连接到SSH服务器时,应启动putty.exe并尝试使用它进行连接。它将把服务器密钥指纹添加到注册表中。否则plink会要求您接受指纹,但它不接受任何输入。
您可以使用puttygen.exe生成私钥。使用不带密码短语的密钥或使用pagent.exe ssh身份验证代理。
如果你可以安装龟,它包括德威治和其他要求。
你完全正确。用于Windows的Mercurial二进制发行版是“冻结的”——它们使用捆绑在一起的Python代码和解释器,因此独立于安装在系统PYTHONPATH中的包。当您在Mercurial.ini中指定hggit扩展的路径时,hg尝试使用直接路径导入它,但是dulwich库不是由hg显式导入的,并且没有与其库绑定,因此导入失败。
可以将Dulwich和HgGit都添加到与hg.exe一起安装的library.zip中,但对我来说,最好的方法是从源代码安装所有内容,包括Mercurial,并使用安装到\Python\Scripts中的.bat文件执行命令。在这种情况下,您需要:
安装Dulwich-我将为Git和Dulwich使用最新的trunksnapshot。
python setup.py—纯安装
安装最新的HgGitsnapshot
python setup.py安装
编辑Mercurial.ini以启用
hggit =
相关问题 更多 >
编程相关推荐