Debian/Ubuntu下的boa-constructor有对python-wxgtk2.6的依赖关系,即使安装了python-wxgtk2.8,boa-constructor仍然只调用2.6版本。Felix通过以下的步骤解决了这个问题(以Ubuntu为例):
1, 首先找到boa-constructor的安装文件,默认位置在 /var/cache/apt/archives/boa-constructor_0.6.1-9ubuntu1_all.deb
使用下面的命令将文件复制到当前目录:
cp /var/cache/apt/archives/boa-constructor_0.6.1-9ubuntu1_all.deb .
2, 建立文件夹boanew, 为解压deb文件做准备
mkdir boanew
3, 解压boa-constructor的deb控制文件:
dpkg-deb -e ./boa-constructor_0.6.1-9ubuntu1_all.deb ./boanew/DEBIAN
4, 解压程序文件:
dpkg-deb -x ./boa-constructor_0.6.1-9ubuntu1_all.deb ./boanew
5, 编辑控制文件:
vim ./boanew/DEBIAN/control
打开后找到
Depends: python (>= 2.4), python-support (>= 0.90.0), python-wxgtk2.6
将其修改为
Depends: python (>= 2.4), python-support (>= 0.90.0), python-wxgtk2.8
保存并关闭编辑窗口。
6, 修改程序文件,使其调用wx2.8
vim ./boanew/usr/share/boa-constructor/Boa.py
打开后找到(应该在232行)
wxversion.select('2.6')
将其修改为
wxversion.select('2.8')
保存并关闭编辑窗口。
6, 打包新包
dpkg-deb -b boanew ./boa-constructor_0.6.1-10-wx2.8_all.deb
7, 如果先前没有安装python-wxgtk2.8,请安装:
sudo apt-get install python-wxgtk2.8
8, 安装打包好的新包:
sudo dpkg -i ./boa-constructor_0.6.1-10-wx2.8_all.deb
9, 现在可以卸载python-wxgtk2.6了
sudo apt-get purge python-wxgtk2.6