• 使用源码编译wxpython-基于python2.7


    1、前言

             本文主要讲述在linux环境下进行编译wxpython,在windows下面安装wxpython很简单,只要下载,然后直接执行exe文件,下一步下一步即可安装,在linux下面,则具有很多步骤。

             wxpython下载地址为:

    http://wxpython.org/download.php

             具体的源码下载路径在最下面的位置,名称为wxPython-src,点击即可下载。下载的文件名称为wxPython-src-3.0.2.0.tar.bz2.

    2、解压

             进行解压:

    [root@FTP ~]# tar -jxvf wxPython-src-3.0.2.0.tar.bz2

    3、安装依赖包

    gtk2,gtk2-devel,python-devel,tk,tk-devel,gstreamer,gstreamer-devel,mesa-libGL-devel,
    mesa-libGLU-devel,mesa-libGLU,mesa-libGL,libSM,libSM-devel,gstreamer-plugins-base-devel

             最好是利用yum进行安装。。否则会崩溃的

    4、编译

    新建一个临时路径来保存编译的结果,如下所示:

    [root@FTP wxPython-src-3.0.2.0]# mkdir bld
    [root@FTP wxPython-src-3.0.2.0]# cd bld
    [root@FTP bld]# ../configure --prefix=/usr/local/pythonwxpython --with-gtk --with-gnomeprint
     --with-opengl --enable-debug --enable-geometry --enable-graphics_ctx --enable-sound --with-sdl 
    --enable-mediactrl --enable-display --disable-debugreport --enable-unicode --with-libjpeg=builtin
     --with-libpng=builtin --with-libtiff=builtin --with-zlib=builtin

             新建bld来保存编译的结果,主要是由于编译的时候,占用的空间有1G多,所以需要用一个新的目录进行编译,注意上面configure前面有两个点。

    编译结果如下:


    进行安装:

    make && make install
    

    消耗的时间和占用的空间如下:--编译需要8分钟的样子,估计服务器会快很多

    [root@FTP local]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_ftp-lv_root
                          9.9G  6.1G  3.3G  66% /
    tmpfs                 387M     0  387M   0% /dev/shm
    /dev/sda1             485M   32M  428M   7% /boot
    [root@FTP local]# date
    Tue Apr  5 13:07:07 EDT 2016
    [root@FTP local]# date
    Tue Apr  5 13:14:56 EDT 2016
    [root@FTP local]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_ftp-lv_root
                          9.9G  8.1G  1.3G  87% /
    tmpfs                 387M     0  387M   0% /dev/shm
    /dev/sda1             485M   32M  428M   7% /boot

    进行安装wxpython:--WX_CONFIG就是前面编译configure的路径

    [root@FTP wxPython]# python setup.py build_ext --inplace --debug WX_CONFIG=/usr/local/pythonwxpython/bin/wx-config
    

             安装之后,设置wxpython的环境变量:

    export PYTHONPATH="/usr/local/wxPython"
    export LD_LIBRARY_PATH="/usr/local/pythonwxpython/lib


             可以添加在用户加目录中,另外必须将wxpython添加到pythonpath中,如下:

    [root@FTP wxPython-src-3.0.2.0]# cp -r wxPython /usr/local/wxPython/
    


             拷贝主要是为了对应上面的PYTHONPATH

          问题

    1、重新编译

             在进行重新编译的时候,必须先进行清除前面编译的文件,使用的命令如下:

    make distclean
    

             如果使用makeclean,是不可以的,报错信息如下:

    configure: error: source directory already configured; run "make distclean" there first
    configure: error: ../../../src/tiff/configure failed for src/tiff


             如果使用上面的命令不能清除,那么还是重新解压进行编译吧

    2、导入wx模块出错

    导入wx模块的时候,出错,出错内容如下:

    >>> import wx
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "wx/__init__.py", line 45, in <module>
        from wx._core import *
      File "wx/_core.py", line 4, in <module>
        import _core_
    ImportError: libwx_gtk2u_xrc-3.0.so.0: cannot open shared object file: No such file or directory


    设置环境变量LD_LIBRARY_PATH:

    [root@FTP wxPython]# cat ~/.bash_profile |grep LD
    export LD_LIBRARY_PATH="/usr/local/pythonwxpython/lib


    将环境变量写在用户文件中,从而每次都可以直接使用。

    3、在别的路径无法导入wx模块

    在别的路径导入wx模块的时候,报错如下:

    [root@FTP ~]# python
    Python 2.7.11 (default, Apr  5 2016, 12:30:11)
    [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import wx
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named wx


    主要是将wxpython加入到模块的搜索路径中,只要修改环境变量即可,如下:

    [root@FTP wxPython-src-3.0.2.0]# cp -r wxPython /usr/local/wxPython
    [root@FTP wxPython-src-3.0.2.0]# cat ~/.bash_profile |grep PYTHON
    export PYTHONPATH="/usr/local/wxPython"

    4、报错gtk未找到

             具体的报错内容如下:

    *** Could not run GTK+ test program, checking why...
    *** The test program failed to compile or link. See the file config.log for the
    *** exact error that occured. This usually means GTK+ is incorrectly installed.
    configure: error:
    The development files for GTK+ were not found. For GTK+ 2, please
    ensure that pkg-config is in the path and that gtk+-2.0.pc is
    installed. For GTK+ 1.2 please check that gtk-config is in the path,
    and that the version is 1.2.3 or above. Also check that the
    libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
    --libs' are in the LD_LIBRARY_PATH or equivalent.


             主要查看是否安装了gtk2和gtk2-devel包,安装上这两个包即可

             有人说需要安装pkgconfig包,本系统中已经安装了这个包,所以未进行测试。

    5、报错gstream未找到

    具体的报错内容如下:

    configure: No package 'gstreamer-1.0' found
    configure: error: no gstreamer-1.0 >= 1.0.0 (GStreamer) found


    主要报错是因为缺少几个包,具体的包如下:

    [root@FTP demo]# rpm -qa |grep ^gstreamer*
    gstreamer-plugins-base-0.10.29-1.el6.x86_64
    gstreamer-0.10.29-1.el6.x86_64
    gstreamer-devel-0.10.29-1.el6.x86_64
    gstreamer-plugins-base-devel-0.10.29-1.el6.x86_64
    gstreamer-tools-0.10.29-1.el6.x86_64


             看缺少什么包,然后就安装什么依赖包。

    6、报错opengl库未找到

    具体的报错内容如下:

    configure: error: OpenGL libraries not available
    


    主要缺少的依赖库如下:

    [root@FTP demo]# rpm -qa|egrep "mesa-libGL-devel|mesa-libGLU-devel"
    mesa-libGL-devel-7.11-3.el6.x86_64
    mesa-libGLU-devel-7.11-3.el6.x86_64


             注意没有带devel的包也要相应的装上。

    7、在进行安装wxpython的时候出现很多报错

             在进行安装wxpython的时候,如果出现很多编译错误,直接加上参数BUILD_GLCANVAS=0,也可以直接忽略。

    [root@FTP wxPython]# python setup.py build_ext --inplace --debug WX_CONFIG=/usr/local/pythonwxpython/bin/wx-config BUILD_GLCANVAS=0
    


    8、其他的问题

             如果出现其他的问题的话,基本都是依赖包的问题,依次进行安装上述的依赖包即可。



    for linux and python
  • 相关阅读:
    uoj311 【UNR #2】积劳成疾
    SQL中MAX()和MIN()函数的使用(比较字符串的大小)
    SQL Server 怎样生成序列号(虚拟数字辅助表)
    如何使用引用类型来改变变量的值
    C#获取当前主机硬件信息
    JS扫雷原理性代码
    Struts2文件的上传和下载实现
    Struts2拦截器详解
    Struts2拦截器配置和使用
    Struts2转换器配置和用法
  • 原文地址:https://www.cnblogs.com/kellyseeme/p/5525050.html
Copyright © 2020-2023  润新知