Git运行Meld作为合并工具失败'chek_requirements import gi'

时间:2019-03-12 14:26:12

标签: git qt meld

Error while trying to merge conflictual files

作为版本控制,我使用git并调用Meld来合并冲突文件。 (作为IDE,我使用Qt Creator,但我认为这可能不是问题)。 我不明白为什么合并过程会失败,因为不同时间使用了此过程来合并项目(远程和本地项目)。 谢谢你的帮助, 最好的祝福, 萨拉

3 个答案:

答案 0 :(得分:0)

gi模块运行,除了it fails to find the GTK DLL

---------------------------
cx_Freeze: Python error in main script
---------------------------
Traceback (most recent call last):
  File "bin/meld", line 205, in check_requirements
    import gi
  File "C:/msys64/MINGW32/lib/python3.7/site-packages/gi/__init__.py", line 42, in <module>
  File "ExtensionLoader_gi__gi.py", line 23, in <module>
  File "ExtensionLoader_gi__gi.py", line 15, in __bootstrap__
  File "C:/msys64/MINGW32/lib/python3.7/imp.py", line 342, in load_dynamic
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/msys64/MINGW32/lib/python3.7/site-packages\cx_Freeze/initscripts/__startup__.py", line 14, in run
  File "C:/msys64/MINGW32/lib/python3.7/site-packages\cx_Freeze/initscripts/Console.py", line 26, in run
  File "bin/meld", line 362, in <module>
    check_requirements()
  File "bin/meld", line 211, in check_requirements
    missing_reqs("GTK+", gtk_requirement, e)
  File "bin/meld", line 194, in missing_reqs
    show_error_and_exit(_("Cannot import: ") + mod + "\n" + str(exc))
  File "bin/meld", line 182, in show_error_and_exit
    raise Exception(error_text)
Exception: Cannot import: GTK+
DLL load failed: The specified module could not be found.

---------------------------
OK   
---------------------------

我已经在我的Path用户环境变量中添加了C:\Program Files (x86)\Meld\lib,现在Meld可以正常工作了。

答案 1 :(得分:0)

我通过执行

melt 设置为我的差异工具
git config --global diff.tool meld
git config --global difftool.prompt false

我得到了相同的错误消息。

我花了一段时间找到https://gitlab.gnome.org/GNOME/meld/issues/282,Wesley Staples给出了一个非常有用的解决方法:

  

一个临时的解决方法是将“ C:\ Program Files(x86)\ Meld \ lib \ libgirepository-1.0-1.dll”复制到“ C:\ Program Files(x86)\ Meld \ libgirepository-1.0-1”。 dll”。将其复制到一个目录。

答案 2 :(得分:0)

对我有用的解决方案如下

将“ C:\ Program Files(x86)\ Meld \ lib \ libgirepository-1.0-1.dll”复制到“ C:\ Program Files(x86)\ Meld \ libgirepository-1.0-1.dll”。