我为 Mercurial 创建了一些使用一些外部库(即 jira-python)的 python 钩子。在 Linux 中,我使用 pip 安装软件包。然而,在 Windows 中,Mercurial 附带了 Python 的捆绑版本。当我运行它们时,我的钩子失败了,因为没有安装外部包。
我想让 Mercurial / TortoiseHG 使用我的 Python 安装,这样我就可以控制它的环境。我怎样才能做到这一点?
我为 Mercurial 创建了一些使用一些外部库(即 jira-python)的 python 钩子。在 Linux 中,我使用 pip 安装软件包。然而,在 Windows 中,Mercurial 附带了 Python 的捆绑版本。当我运行它们时,我的钩子失败了,因为没有安装外部包。
我想让 Mercurial / TortoiseHG 使用我的 Python 安装,这样我就可以控制它的环境。我怎样才能做到这一点?
您可以为 Python 安装 Mercurial 包:
对于 TortoiseHG 特定的详细信息,我可以建议检查 %TortoiseHg%\library.zip - 它包含 TortoiseHG|Mercurial Python 模块所需的(一些?全部?),您可以(尝试)扩展该列表:“在哪里 Python TortoiseHG 的路径?” 主题史蒂夫博尔霍写道:
TortoiseHg 的整个 python 环境都包含在与它一起打包的 library.zip 中。
我怀疑您可以做的是在您的评论板扩展文件的顶部添加一两行,以在尝试导入 simplejson 之前将您安装的 python 路径添加到 sys.path
将 python 路径添加到 sys.path 的提示也适用于您
来自转换扩展页面的推荐
您需要使用安装在独立 Python 之上的 Mercurial,并且您可能还需要执行类似的操作
set HG=python c:\Python25\Scripts\hg
如果您还安装了默认的 Win32 二进制文件,则覆盖默认的 Win32 二进制文件
我通过 pip 安装了 Mercurial,也有 TortoiseHg。我的系统路径首先选择 Python 版本。
我重命名C:\Program Files\TortoiseHg\hg.exe
为别的东西,然后运行 TortoiseHg。一切仍然有效,但我没有很好的方法来验证它是否符合您的要求。你可以试一试。