缘起

在linux下,最早用的比较工具是vim,这是作为一个vimer的自尊(其实没有关系吧)。终于有一天,在比较同一个项目的两个版本的时候,比较了两三个文件后,看着vim里面花花绿绿的颜色,实在是受不了了。而且比较的结果也让人迷惑。两边明明是一样的,却显示为不一样。我决定另寻出路。

在git中,推荐的比较工具是meld,那就这个好了,也不管是不是因为是不是按照字母序排的。

一用之下,效果甚好。颜色整体偏浅,恰到好处。而且缺少,增加用一个插入的图形化表示,很直观形象,一看就明白了。还有比较文件夹的功能。实在是不能更好了。

windows

自然而然的想在windows下能不能跑meld。以前用的比较,一直是total command,但是用了meld之后,感觉再也回不去了。windows下也有比较工具,网上评价最高的是beyond compare。遗憾的是,是收费的。虽然网上有注册码,而且能用,但是总不如把meld装在windows下舒服。上网一查,还真有在windows下的安装包,把python和gtk整体打包了。

一安装,运行meld.exe,没反应。就知道,没有那么便宜的事情。一条崎岖的道路,才刚刚开始而已。

meld.exe只是一个启动器而已,最后的任务是交给bin目录下的meld,这是一个python脚本。同时还有一个meldc.exe是一个命令行的启动器。为了看是出什么问题了,在bin目录下启动命令行,运行python meld。显示是,import pygtk出错,后面还有一句是无法找到相应的dll。

把这个卸载了,重新安装meld,这次不安装python和gtk,而用本来就有的python,并到网上下载gtk的all-in-one安装包。然后在环境变量中添加PYTHON_HOME环境变量。再次运行meld,还是一样的结果。

回过头来,研究错误信息,不能import。于是我打开python,试了一下import pygtk,可以。这就奇怪了。无奈之下,只好修改源代码,在import pygtk利用pdb加了断点。一运行,发现是import gtk时候出错。两次import,出错报的信息是一样的。在解释器下运行 import gtk,果然报错。根据堆栈信息是在import _gtk时出错。而_gtk是一个pyd文件。到这里卡住了。

继续上网搜索。

这时候注意到了dll错误。一般导入失败,不会有这个提示,应该是pyd中引用了一些dll,而找不到这些dll才会报错。那怎么样才能找到究竟是在哪一个环节上出错了呢?

dependence walker

这个工具可以找到一个文件的dll依赖。我们在这个工具中打开_gtk.pyd。这时候,报错,缺少了一些dll。一部分是gtk运行时库的。一部分是一些很奇怪的东西:MSVCR90.DLL IESHIMS.DLL MOBSYNC.DLL WER.DLL。第一个是比较熟悉的,之前也都有遇到过,在电脑中也可以找到,其他几个没见过。但是,作为一个all-in-one的安装包难道不应该把这些处理好吗?只好自己上网找,然后扔进_gtk.pyd的目录。然后扔一个进去,又出来一个依赖。如此重复四五次,总算是不报错了。但是还是启动不起来。果然,不能这样子一个一个来的吧。

放弃

已经过去了4个小时了,meld不装也可以的嘛。盗版就盗版了。进入清理阶段。把meld卸掉,然后把pygtk卸掉。pygtk怎么卸?直接删文件吗?感觉散布到好多地方,删不干净啊。这连卸载也要这么麻烦吗?

然后偶然的发现,重新运行安装程序,会提示是修复还是移除(-_-!)。

ps:在写文章的时候,不甘心,又跑去重试。不用all-in-one,手动一个一个安装。结果更糟糕了。想想在linux下,一句sudo apt-get install 就搞定一切了。

失败经历--在windows下安装meld的更多相关文章

  1. [INS-30131] 执行安装程序验证所需的初始设置失败问题解决,windows下oracle安装步骤

    [INS-30131] 执行安装程序验证所需的初始设置失败问题解决,windows下oracle安装步骤 配置: 系统:windows10 数据库:Oracle Database 12c 第 1 版 ...

  2. windows下安装ruby和 rails的痛苦经历

    准备安装ruby on rails,在网上搜了下,步骤都类似,但实际安装过程中却碰到很多问题.下面详细说下: 说明下,文章是按照我尝试的过程描述的.但最终是靠 运行 railsinstaller一键式 ...

  3. windows下安装nginx

    说起开发,自己感到非常惭愧,由于公司让我给<绿电侠>项目写整体架构解决方案,才开始接触nginx这个东东,突然觉得它是一把非常好的利器. 本文主要记录在windows下安装nginx,另参 ...

  4. Composer - windows下安装方法

    在windows下安装的方法 方法一:使用安装程序 这是将 Composer 安装在你机器上的最简单的方法. 下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ...

  5. (转)windows 下安装配置 Nginx 详解

    windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...

  6. windows下安装mysql遇到的问题

    windows下安装mysql5.6.41步骤:http://www.cnblogs.com/sjy18039225956/p/9203052.html 系统错误2详见MySQL安装过程net sta ...

  7. windows下安装和配置redis

    1.windows下安装和配置redis 1.1 下载: 官网(linux下载地址):https://redis.io/ Windows系统下载地址:https://github.com/MSOpen ...

  8. Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition

    Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) 最近因需要在Oracle 数据库上建立ODI的资料档案库,需要安装Oracle Database ...

  9. windows下安装Qt

    1.Linux下安装Qt与MySQL相对来说比较容易,在这里我就不多加介绍. 接下来主要介绍windows下安装Qt与MySQL. 2.在windows,我安装QtCreator, 使用的是qt-wi ...

随机推荐

  1. 《Cortex-M0权威指南》之体系结构---存储器系统

    转载请注明来源:cuixiaolei的技术博客 Cortex-M0处理器为32位处理器,所以具有最大4G的寻址空间.在体系结构上,存储器空间被划分位一系列的区域,每个区域都有推荐的用途,以提高不同设备 ...

  2. jquery 的 ajax 在 非阻塞 时返回 XMLHttpRequest

    jquery 的 ajax 在 非阻塞 时返回 是 [object XMLHttpRequest] 对象(firefox 下 alert(对象名) 也可以直接看到对象类型) 返回的内容用 reques ...

  3. 算法java(Robert Sedgewick)基本API-StdOut.java

    /************************************************************************* * Compilation: javac StdO ...

  4. 说一说Android的工程目录结构

    这段时间正在学习有关Android的知识,对在Eclipse下开发的Android项目的目录结构有了一定的了解,在此对目录结构做一个简单的介绍.下图是在Eclipse下Android项目展开的项目目录 ...

  5. 干货:Android 源码使用心得分享

          我相信很多初学者会和我一样经常在网上去找Android开发源码,但是往往因为运行不起来非常的懊恼!在做爱开发网站的时候,收集App代码时就遇到了这种困难,我相信网络上面的源码大部分在发布前 ...

  6. VS2015环境下Crystal Reports(水晶报表)的安装使用

    1.首先下载Crystal Reports13对于Visual Studio 2015支持的2个文件. CRforVS_13_0_17 CRforVS_redist_install_64bit_13_ ...

  7. NAT

      WRITE BY YANGWJ 一.            配置静态Nat 实验图如下: 1.         将网络基本条件配置好,包括路由要可达,即pc1可以ping到server1 2.   ...

  8. Cocos2d-x 3.x的Windows Phone 8工程

    Cocos2d-x 3.x中我们使用的Cocos2d-x 3.2,它提供了Windows Phone 8平台的支持.下面我们介绍一下在Cocos2d-x 3.2中如何生成Cocos2d-x的Windo ...

  9. 20141128--JavaScript HTML DOM

    通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素. HTML DOM 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). 每个 ...

  10. UI4_UIImageView

    // // ViewController.m // UI4_UIImageView // // Created by zhangxueming on 15/7/1. // Copyright (c) ...