本文讲述了如何在CentOS 7.1上配置安装wxPython 2.8.12.1的方法,以及可能碰到问题的解决方法.
前言
目前在网上没有现成的wxPython 2.8.12.1的rpm可以直接进行安装,能找到只有wxPython-2.8.12.0-9.el7.x86_64文件包,这个包在配合RIDE (1.5.2.1)工具使用时,会出现错误:
“Gtk-CRITICAL **: IA__gtk_widget_get_direction:assertion `GTK_IS_WIDGET (widget)' failed”
而且每次启动RIDE,工具会弹出告警框,其兼容的wxPython版本为 2.8.12.1
参考安装步骤
假设当前安装的CentOS系统为最小安装并加有"GNOME Desktop", 则可以参加下面的步骤进行
1) 安装必要的包
yum -y group install "DevelopmentTools"
yum -y install redhat-lsb-core
yum -y install epel-release
yum -y install python2-pip
yum -y install gtk2-devel binutils-devel mesa-libGL-develmesa-libGLU-devel
yum -y install python-devel
pip install robotframework
pip install robotframework-ride
2) 下载wxPython2.8.12.1源代码
wget https://netix.dl.sourceforge.net/project/wxpython/wxPython/2.8.12.1/wxPython-src-2.8.12.1.tar.bz2
3) 解压
tar xjvf wxPython-src-2.8.12.1.tar.bz2
4) 编译
cd wxPython-src-2.8.12.1/
export WXDIR=`pwd`
mkdir bld
cd bld
../configure --prefix=/opt/wx/2.8--with-gtk --with-gnomeprint --with-opengl --enable-debug --enable-debug_gdb--enable-geometry --enable-graphics_ctx --enable-sound --with-sdl--enable-mediactrl --enable-display --enable-unicode
make
5) 将编译好的共享库和工具安装到/opt/wx/2.8目录
make install
6) 将Gizmo等工具编译并安装
make -C contrib/src
make -C contrib/srcinstall
7) 使系统能找到这些共享库
echo '/opt/wx/2.8/lib' > /etc/ld.so.conf.d/wxPython-2.8.12.1.conf
ldconfig
8) 编译python相关的模块
cd $WXDIR/wxPython
python setup.py build BUILD_GLCANVAS=0BUILD_OGL=0 BUILD_STC=1 CORE_ONLY=0 USE_SWIG=0WX_CONFIG=/opt/wx/2.8/bin/wx-config
9) 安装模块,并配置wx模块
python setup.pyinstall BUILD_GLCANVAS=0 BUILD_OGL=0BUILD_STC=1 CORE_ONLY=0 USE_SWIG=0 WX_CONFIG=/opt/wx/2.8/bin/wx-config
mv /usr/lib/python2.7/site-packages/wx.pth/usr/lib64/python2.7/site-packages/wx.pth
mv /usr/lib/python2.7/site-packages/wxversion.*/usr/lib64/python2.7/site-packages/
10) 测试python和运行ride.py文件,确认无任何错误提示
# python
Python 2.7.5 (default, Apr 11 2018,07:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] onlinux2
Type "help","copyright", "credits" or "license" for moreinformation.
>>> import wx
>>> quit()
可能碰到的问题及解决方法
领取专属 10元无门槛券
私享最新 技术干货