Python 为mac安装OrtoiseHG:没有名为mercurial的模块

Python 为mac安装OrtoiseHG:没有名为mercurial的模块,python,mercurial,python-2.7,tortoisehg,Python,Mercurial,Python 2.7,Tortoisehg,我正尝试按照以下说明为Mac安装OrtoiseHG: 我正试图按照关于“替代:通过自制安装”的说明进行操作,我遇到了一个问题 当我按照指令执行/thg log时,TortoiseHg正在启动。但是,当我尝试从python脚本创建应用程序时,该应用程序已创建,但当我启动它时,它会崩溃 以下是输出: Traceback (most recent call last): File "/Users/fabienhenon/Documents/thg-mac-app/dist/TortoiseHg.a

我正尝试按照以下说明为Mac安装OrtoiseHG:

我正试图按照关于“替代:通过自制安装”的说明进行操作,我遇到了一个问题

当我按照指令执行
/thg log
时,TortoiseHg正在启动。但是,当我尝试从python脚本创建应用程序时,该应用程序已创建,但当我启动它时,它会崩溃

以下是输出:

Traceback (most recent call last):
  File "/Users/fabienhenon/Documents/thg-mac-app/dist/TortoiseHg.app/Contents/Resources/__boot__.py", line 316, in <module>
    _run()
  File "/Users/fabienhenon/Documents/thg-mac-app/dist/TortoiseHg.app/Contents/Resources/__boot__.py", line 311, in _run
    exec(compile(source, path, 'exec'), globals(), globals())
  File "/Users/fabienhenon/Documents/thg-mac-app/dist/TortoiseHg.app/Contents/Resources/main.py", line 28, in <module>
    imp.load_source("thg", SCRIPT_DIR + "/bin/thg")
  File "/Users/fabienhenon/Documents/thg-mac-app/dist/TortoiseHg.app/Contents/Resources/bin/thg", line 56, in <module>
    from mercurial import demandimport
ImportError: No module named mercurial
2013-01-06 12:25:17.436 TortoiseHg[406:707] TortoiseHg Error
logout

[Opération terminée]
有人能帮我解决这个问题吗


谢谢你的回答

我找到了解决这个问题的办法

从我收到的错误消息中,脚本找不到名为mercurial的模块。我是Python新手,所以我不得不做一些研究来了解模块导入是如何工作的,我发现了一些关于使用
'sys'
模块动态导入模块的内容

我的解决方案是编辑tortoisehg源代码(错误来自的文件),将mercurial模块的路径动态添加到
'sys.path'
中,以便程序知道在哪里可以找到mercurial模块

下面是代码(在“thg”python文件的第56行(如错误所述)):

您必须在此行之前添加此代码:

from mercurial import demandimport

路径必须与mercurial文件夹的位置相对应。

我找到了解决此问题的解决方案

从我收到的错误消息中,脚本找不到名为mercurial的模块。我是Python新手,所以我不得不做一些研究来了解模块导入是如何工作的,我发现了一些关于使用
'sys'
模块动态导入模块的内容

我的解决方案是编辑tortoisehg源代码(错误来自的文件),将mercurial模块的路径动态添加到
'sys.path'
中,以便程序知道在哪里可以找到mercurial模块

下面是代码(在“thg”python文件的第56行(如错误所述)):

您必须在此行之前添加此代码:

from mercurial import demandimport

路径必须与mercurial文件夹的位置相对应。

如果您想将其用于mercurial,我建议您使用SourceTree,我使用了它,我对此非常满意。@ipinak我在另一台Mac上使用了SourceTree,但每次推送某个内容时,它都会在存储库中造成损坏。我有权访问此存储库并可以修复它,但现在它用于bitbucket上的存储库主机,我担心会出现相同的错误:(这就是为什么我要让乌龟上钩mac@FabienHenon我没有答案,但如果找到了,它也会对我有用。我在Mac上使用OrtoisehG。我试图让它作为一个应用程序工作,但没能让它工作。相反,我只是从命令行运行它。我认为没有简单的Ortoise包是荒谬的Hg在Mac上。所有的Mac替代品都很糟糕。如果你想让mercurial使用它,我建议你使用SourceTree,我使用它,而且我很满意。@ipinak我在另一台Mac上使用SourceTree,但每次我推送某个东西时,它都会在存储库中造成损坏。很高兴我有权访问此存储库,我可以修复它,但现在它用于rbitbucket上的epository主机,恐怕会出现相同的错误:(这就是为什么我要让乌龟上钩mac@FabienHenon我没有答案,但如果找到了,它也会对我有用。我在Mac上使用OrtoisehG。我试图让它作为一个应用程序工作,但没能让它工作。相反,我只是从命令行运行它。我认为没有简单的Ortoise包是荒谬的Mac上的Hg,所有的Mac替代品都很烂。
from mercurial import demandimport