我试图在Windows上使用hg扩展(具体而言,是Windows 7 64位)。我安装了Mercurial和Git。我安装了Python2.5(32位)。
我按照http://hg-git.github.com/上的说明安装了扩展程序。初始easy_install失败,因为它无法在没有Visual 2003的情况下编译dulwich。
我通过以下方式手动安装了dulwich:
现在,当我运行easy_install hg时,它成功了(因为满足了dulwich依赖)。
在我的C:\Users\username\Mercurial.ini中,我有:
[extensions]
hgext.bookmarks =
hggit =当我在命令提示符下输入'hg‘时,我看到:“*未能导入扩展名hggit:没有名为hggit的模块”
在我的c:\Python25 25文件夹下,我看到的对hggit的唯一引用是Lib\site-packages\hg_git-0.2.1-py2.5.egg。这应该是在某个地方提取的,还是应该像-原样?
由于失败,我尝试了hg页面中的“更多涉及”指令,建议克隆git://github.com/schacon/hg-git.git并引用我的Mercurial配置中的路径。我克隆了回购程序,并将我的扩展名文件更改为:
[extensions]
hgext.bookmarks =
hggit = c:\code\hg-git\hggit现在,当我运行hg时,我看到:*未能从c:\code\ hggit \hggit:没有名为dulwich.errors的模块导入扩展hggit。
好的,这告诉我现在正在查找hggit,因为我可以在hggit\hggit\git_handler.py中看到它调用的内容。
from dulwich.errors import HangupException这让我觉得dulwich没有正确安装,或者没有安装在路径上。
更新:
在Python命令行中:
import dulwich产率Import Error: No module named dulwich
但是,在C:\Python25 25\Lib\site-packages下,我确实有一个Dulw治-0.5.0-py2.5的鸡蛋文件夹,该文件夹似乎已被填充。这是由上述步骤创建的。为了使它成为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)]
那又能告诉我什么?进口杜尔威奇失败了,但显然pkg_resources可以找到它。我能用这些信息做什么?
发布于 2010-04-28 22:25:07
这让我觉得dulwich没有正确安装,或者没有安装在路径上。
你说的完全正确。用于Windows的Mercurial二进制发行版是“冻结”的--它们使用与它们捆绑在一起的Python代码和解释器,因此独立于安装在system中的包。当您在Mercurial.ini中指定hggit扩展的路径时,hg尝试使用直接路径导入它,但是dulwich不是由hg显式导入的,也没有绑定到它的库中,因此导入失败。
可以同时向安装在HgGit中的library.zip中添加Dulwich和hg.exe,但对我来说,最好的方法是从源代码安装所有东西,包括Mercurial和执行命令,使用安装到\Python中的.bat文件。在这种情况下,您需要:
hggit =发布于 2011-08-09 15:28:17
我在http://candidcode.com/2010/01/12/a-guide-to-converting-from-mercurial-hg-to-git-on-a-windows-client/找到了一个更简单的解决方案
然后我自己找到了一个更简单的解决方案:
要在Windows上使用hg扩展:
[extensions]
hgext.bookmarks=
hggit=要获得SSH支持,您需要来自plink.exe家族的PuTTY。在此之后,您应该向Mercurial.ini添加以下内容:
[ui]
username = John Doe <foo@example.com>
ssh=d:/home/lib/dll/plink.exe -i "d:/home2/ssh-private-key.ppk"当第一次连接到SSH服务器时,应该启动putty.exe并尝试使用它进行连接。它将向注册表添加服务器密钥指纹。否则,plink会要求您接受指纹,但它不接受任何输入。
您可以使用puttygen.exe生成私钥。要么使用没有密码的密钥,要么使用Pageant.exe ssh身份验证代理。
发布于 2010-04-02 03:57:15
如果您可以安装TortoiseHg,它包括dulwich和其他要求。
https://stackoverflow.com/questions/2360944
复制相似问题