使用源码编译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、其他的问题
如果出现其他的问题的话,基本都是依赖包的问题,依次进行安装上述的依赖包即可。
使用源码编译wxpython-基于python2.7的更多相关文章
- Ubuntu 环境 TensorFlow (最新版1.4) 源码编译、安装
Ubuntu 环境 TensorFlow 源码编译安装 基于(Ubuntu 14.04LTS/Ubuntu 16.04LTS/) 一.编译环境 1) 安装 pip sudo apt-get insta ...
- 源码编译安装LAMP环境及配置基于域名访问的多虚拟主机
实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本: Mysql-5.6.23 php版本 ...
- 基于cdh5.10.x hadoop版本的apache源码编译安装spark
参考文档:http://spark.apache.org/docs/1.6.0/building-spark.html spark安装需要选择源码编译方式进行安装部署,cdh5.10.0提供默认的二进 ...
- 基于源码编译安装openssh
最近的,openssl/openssh等相继漏洞的暴露,让暴露在公网的linux.沦陷为肉鸡的正营... 没办法,还是升级版本... 00.openssh简介 OpenSSH 是一组安全远程的连接工 ...
- TensorFlow Python2.7环境下的源码编译(三)编译
一.源代码编译 这里要为仅支持 CPU 的 TensorFlow 构建一个 pip 软件包,需要调用以下命令: $ bazel build --cxxopt="-D_GLIBCXX_USE_ ...
- golang基于当前1.9版本进行源码编译升级到1.10
一.起因 golang出了最新的1.10版本,而刚出的vgo也是需要基于该最新版本的.为了测试vgo,因此需要将我的v1.9升级到v1.10版本. 安装过golang的同学都知道,golang常用的有 ...
- 源码编译安装python2/3版本
1- 源码编译安装python2.7版本 1.1- 下载源码包 wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz 1.2- ...
- 基于源码编译的lnmp架构实现论坛的搭建及memcache的应用
系统环境: RHEL6 x86-64 selinux and iptables disabled LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构 Linux是一类 ...
- 源码编译安装MySQL8.0.20
1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...
随机推荐
- 忘记导入struts2-xxx-plugin-x.x.x.jar导致服务器启动报Unable to load configuration.Caused by: Parent package is not defined: xxx-default
今天做的一个Struts2+MyFaces(JSF)+Spring的应用,为了使用JSF,我的struts.xml中使用了如下代码 <package name="jsf" e ...
- 《Linux/Unix系统编程手册》读书笔记3
<Linux/Unix系统编程手册>读书笔记 目录 第6章 这章讲进程.虚拟内存和环境变量等. 进程是一个可执行程序的实例.一个程序可以创建很多进程. 进程是由内核定义的抽象实体,内核为此 ...
- R之pryr
1. Pryr安装 由于项目pryr,还没有发布到CRAN,仅支持从github安装.要使用devtools包来通过github来安装,在https://github.com/hadley/pryr中 ...
- NDK(10)Android.mk各属性简介,Android.mk 常用模板
参考 : http://blog.csdn.net/hudashi/article/details/7059006 本文内容: Android.mk简介, 各属性表, 常用Android.mk模板 1 ...
- [HZNUOJ1524]排队买票(DP)
题目链接:http://acm.hznu.edu.cn/JudgeOnline/problem.php?id=1524 简单分析后可以知道每一个手持两元的小朋友前面,售票员手里至少有一个一元. 假设d ...
- 《OD学hadoop》第一周0625
一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统 www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1- ...
- Android开源库--Asynchronous Http Client异步http客户端
如果说我比别人看得更远些,那是因为我站在了巨人的肩上. github地址:https://github.com/loopj/android-async-http Api文档地址:http://loop ...
- Miller_Rabin (米勒-拉宾) 素性测试
之前一直对于这个神奇的素性判定方法感到痴迷而又没有时间去了解.借着学习<信息安全数学基础>将素性这一判定方法学习一遍. 首先证明一下费马小定理. 若p为素数,且gcd(a, p)=1, 则 ...
- eclipse中字母大小写转换快捷键
ctrl+shift+x 转为大写 ctrl+shift+y 转为小写
- 微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题(转)
因为access_token,在以后的高级功能里面会经常用到,所以这里不得不这里对前面所讲解的access_token改造一下.另外需要说明的是access_token是变化的,有自己的周期,官方解释 ...