Ubuntu 18.04 安装 wxPython4.0.4

因为 wxPython4.x 不提供 Linux 下的 bin 文件安装,以下记录 Ubuntu 18.04 的安装过程 (Ubuntu 18.04 已默认安装 Python 3.6.8)。

1)安装 gtk-2.0 (你也可以使用 libgtk-3-dev,如果你打算用 gtk3)

$ sudo apt-get install libgtk2.-dev 

2)安装必要的库

$ sudo apt-get install libcanberra-gtk-module

3)安装 gtk 头文件自动查找工具

$ sudo apt-get install pkg-config

4)查看一下

$ pkg-config --list-all | grep gtk
gtk+-unix-print-2.0 GTK+ - GTK+ Unix print support
gtk+-x11-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)
gtk+-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)

Ubuntu 18.04 默认已安装 libgtk2.0-0,libgtk2.0-dev,libgtk2.0-bin,libgtk2.0-common,手动安装一下 libgtk-3-0,libgtk-3-common,libgtk-3-bin,libgtk-3-dev,再查看一下,

$ pkg-config --list-all | grep gtk
gtk+-3.0 GTK+ - GTK+ Graphical UI Library
gtk+-unix-print-2.0 GTK+ - GTK+ Unix print support
gtk+-x11-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)
gtk+-broadway-3.0 GTK+ - GTK+ Graphical UI Library
gtk+-unix-print-3.0 GTK+ - GTK+ Unix print support
gtk+-wayland-3.0 GTK+ - GTK+ Graphical UI Library
gtk+-x11-3.0 GTK+ - GTK+ Graphical UI Library
gtk+-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)

5)下载对应 linux,python 和 gtk 版本(这里选择 gtk3) 的 wxPython 安装 whl 文件 (例如我这里下载 wxPython-4.0.4-cp36-cp36m-linux_x86_64.whl )

https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04/

6)安装

$ sudo pip3 install wxPython-4.0.-cp36-cp36m-linux_x86_64.whl

7)测试

$ python3
Python 3.6. (default, Jan , ::)
[GCC 8.0. (experimental) [trunk revision ]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import wx
>>> a = wx.App()
>>> wx.Frame(None, title='hello world').Show(); a.MainLoop();

CentOS7 安装 wxPython4.0.4

因为 wxPython4.x 不提供 Linux 下的 bin 文件安装,以下记录 CentOS 7 的安装过程 (CentOS 7 默认没有安装 Python 3)。

1)先安装 python3 (默认为 3.6.6)

$ sudo yum install python36.x86_64
$ sudo yum install python36-devel.x86_64
$ sudo yum install python36-pip.noarch
$ sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade pip
$ sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade pip

2)查看 gtk 版本

$ pkg-config --list-all | grep gtk
gtk+-unix-print-2.0 GTK+ - GTK+ Unix print support
gtk+-x11-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)
gtk+-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)

CentOS 7 默认已安装 gtk2-2.24.31-1.el7.x86_64, gtk2-devel-2.24.31-1.el7.x86_64, gtk3-3.22.30-3.el7.x86_64, 手动安装一下 gtk3-devel-3.22.30-3.el7.x86_64,再检查一下,

$ pkg-config --list-all | grep gtk
gtk+-unix-print-2.0 GTK+ - GTK+ Unix print support
gtk+-3.0 GTK+ - GTK+ Graphical UI Library
gtk+ GTK+ - GIMP Tool Kit
gtk+-x11-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)
gtk+-wayland-3.0 GTK+ - GTK+ Graphical UI Library
gtk+-unix-print-3.0 GTK+ - GTK+ Unix print support
gtk+-x11-3.0 GTK+ - GTK+ Graphical UI Library
gtk+-2.0 GTK+ - GTK+ Graphical UI Library (x11 target)

3)下载对应 linux,python 和 gtk 版本(这里选择 gtk3) 的 wxPython 安装 whl 文件 (例如我这里下载 wxPython-4.0.4-cp36-cp36m-linux_x86_64.whl )

https://extras.wxpython.org/wxPython4/extras/linux/gtk3/centos-7/

4)安装

$ sudo pip3 install wxPython-4.0.-cp36-cp36m-linux_x86_64.whl

5)测试

$ python3
Python 3.6. (default, Jan , ::)
[GCC 8.0. (experimental) [trunk revision ]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import wx
>>> a = wx.App()
>>> wx.Frame(None, title='hello world').Show(); a.MainLoop();

详情参考 wxPython 官方网站

Linux 安装 wxPython4.0.4的更多相关文章

  1. 在Centos7上安装wxPython4.0.4

    在linux上安装wxPython4.0.4时需要gtk+2.0,在安装wxPython4.0.4遇到以下错误. linux上是用pip安装wxPython4.0.4的,执行命令如下: pip ins ...

  2. Linux安装php-7.0.16,完成php和apache的配置

    Linux安装php-7.0.16,完成php和apache的配置     版本:php-7.0.16.tar.gz,libxml2-2.9.2.tar.gz(php需要它的支持,首先安装它) 说明 ...

  3. Linux安装Mysql8.0及SQL分类的补充

    Linux安装Mysql8.0 参考文章:https://blog.csdn.net/qq_38570633/article/details/109257430 参考文献:https://blog.c ...

  4. linux 安装mysql8.0

    linux下安装mysql8.0 下载mysql $ wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/mysql-8.0.4 ...

  5. linux安装mysql8.0

    linux 上安装mysql8.0 mysql版本8.0.16 MySQL Community 操作系统centos7 准备工作: mysql8.0 rpm文件 安装步骤: 1. 下载mysql的re ...

  6. Linux安装mysql8.0.29详细教程

    ​ 我在上午卸载了陪伴我多年的mysql5.7,现在准备安装mysql8.0. 一.登录mysql官网下载mysql安装包(我的系统是Centos7) MySQL :: Download MySQL ...

  7. linux安装redis-6.0.1单机和集群

    redis作为一个直接操作内存的key-value存储系统,也是一个支持数据持久化的Nosql数据库,具有非常快速的读写速度,可用于数据缓存.消息队列等. 一.单机版安装 1.下载redis 进入re ...

  8. linux安装redis-3.0.7

    一.Redis介绍 1.简介 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类 ...

  9. 0级搭建类004-中标麒麟 Linux 安装 (V7.0) 公开

    项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...

随机推荐

  1. 【CodeForces - 707B】Bakery(思维水题)

    Bakery Descriptions 玛莎想在从1到n的n个城市中开一家自己的面包店,在其中一个城市烘焙松饼. 为了在她的面包房烘焙松饼,玛莎需要从一些储存的地方建立面粉供应.只有k个仓库,位于不同 ...

  2. rowkey散列和预分区设计解决hbase热点问题(数据倾斜)

    Hbase的表会被划分为1....n个Region,被托管在RegionServer中.Region二个重要的属性:Startkey与EndKey表示这个Region维护的rowkey的范围,当我们要 ...

  3. SSRF绕过姿势

    0x00 什么是SSRF? SSRF(Server-Side Request Forgery,服务器端请求伪造):是一种由攻击者构造形成由服务器端发起请求的一个漏洞. SSRF 攻击的目标是从外网无法 ...

  4. SQL Server 下载与安装

    1.首先去Microsoft官网下载对应的安装程序,下载地址:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.运行安 ...

  5. DRF 序列化组件 序列化的两种方式 反序列化 反序列化的校验

    序列化组件 django自带的有序列化组件不过不可控不建议使用(了解) from django.core import serializers class Books(APIView): def ge ...

  6. LeetCode 19——删除链表的倒数第N个节点(JAVA)

    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...

  7. 利用requests提交相同名称数据的处理方法

    #字典键不能重复 data={ boardid' : boardid, 'divids[ ]' : '0' , 'divids[ ]' : '1' , 'divids[ ]' : '2' , } #这 ...

  8. spring boot 2.0 提示 No primary or default constructor found for interface Pageable 解决办法

    在SpringBoot 2.0 以前,我们会配置以下类 @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter ...

  9. Qt Model/View理解(二)---构造model(细心研读,发现超简单,Model就是做三件事:返回行数量、列数量、data如何显示。然后把model与view联系起来即可,两个例子都是如此)good

    数据是一个集合,显示也是一个集合.例如一篇<西游记>的文章,所有的文字就是数据集合,展示方式就是显示的集合,可以以书本的形式,也可以以电纸书的形式,更可以用视频的方式展现. 下面是将一个二 ...

  10. Lua 截取字符串(截取utf-8格式字符串)

    对utf-8完全没概念的可以看看我上一篇随笔:简单说说utf-8编码格式 另外,还要知道string.sub 和 string.byte 的用法. 先上完整代码: local StringHelper ...