在 Ubuntu 12.10 安装 wxPython

安装 wxPython 可以使用 pip 工具,但在 Ubuntu 12.10 上需要首先安装 wxPython 的依赖项。请注意,Ubuntu 12.10 已于2013年终止支持,建议升级到更高版本的 Ubuntu。以下是在 Ubuntu 12.10 上安装 wxPython 的一般步骤:

在这里插入图片描述

一、问题背景

在 Ubuntu 12.10 安装 wxPython 时遇到困难,尝试了网站上给出的所有答案都无济于事。在尝试了 http://wxpython.org/BUILD.html 之后,得知它已经在仓库中,于是运行 “sudo apt-get install install python-wxgtk2.8” 安装,但安装成功后仍然无法使用。并且,虽然它可以在使用 PyDev 的 Eclipse 中工作,但是在关闭应用程序后会收到 “LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn’t believe we’re it’s parent.”" 警告,而且状态栏也无法正常工作。

遇到了如下代码问题:

import wxclass naman(wx.Frame):def __init__(self,parent,id):  # @ReservedAssignmentwx.Frame.__init__(self,parent,id,'Frame aka Window', size=(300,200))panel=wx.Panel(self)statusbar=self.CreateStatusBar()menubar=wx.MenuBar()first=wx.Menu()second=wx.Menu()first.Append(wx.NewId(),"New Window", "This opens a new window")first.Append(wx.NewId(),"Open...", "This will open")second.Append(wx.NewId(),"Undo", "This will undo")second.Append(wx.NewId(),"Redo", "This will redo")menubar.Append(first,"File")menubar.Append(second,"Edit")self.SetMenuBar(menubar)if __name__=='__main__':app=wx.PySimpleApp()frame=naman(parent=None,id=-1)frame.Show()app.MainLoop()

想知道为什么会出现这个警告,为什么状态栏无法正常工作,以便在 Eclipse 中继续工作而无需担心 wxPython。

二、解决方案

1、安装 wxPython Phoenix,而不是 wxPython 2.8。2.8 系列和 2.9 Classic 系列仅与 Python 2.x 兼容。需要下载一个 Phoenix 快照进行构建,因为它是唯一与 Python 3 兼容的版本。可以从此处获取:

http://wxpython.org/Phoenix/snapshot-builds/

2、注意,Phoenix 处于非常不成熟的测试阶段,目前仅支持核心控件。大多数自定义控件,例如 wx.lib 中的控件,仍在移植中。有关详细信息,请参阅 http://wiki.wxpython.org/ProjectPhoenix。

3、然后,对代码进行修改:

import wx
import wx.lib.agw.aui as auiclass naman(wx.Frame):def __init__(self,parent,id):wx.Frame.__init__(self,parent,id,'Frame aka Window', size=(300,200))panel=wx.Panel(self)self.auiManager = aui.AuiManager(self)self.auiManager.SetManagedWindow(self)self.auiNotebook = aui.AuiNotebook(self, agwStyle=aui.AUI_NB_DEFAULT_STYLE | aui.AUI_NB_TAB_EXTERNAL_MOVE | aui.AUI_NB_TAB_MOVE)self.auiManager.AddPane(self.auiNotebook, aui.AuiPaneInfo().Name("Main").CenterPane())statusbar=self.CreateStatusBar()menubar=wx.MenuBar()first=wx.Menu()second=wx.Menu()first.Append(wx.NewId(),"New Window", "This opens a new window")first.Append(wx.NewId(),"Open...", "This will open")second.Append(wx.NewId(),"Undo", "This will undo")second.Append(wx.NewId(),"Redo", "This will redo")menubar.Append(first,"File")menubar.Append(second,"Edit")self.SetMenuBar(menubar)if __name__=='__main__':app=wx.PySimpleApp()frame=naman(parent=None,id=-1)frame.Show()app.MainLoop()

4、运行代码:

python naman.py

即可解决该问题。

请注意,由于 Ubuntu 12.10 已不再支持,因此某些依赖项可能无法安装或者可能会出现其他问题。如果你遇到困难,建议考虑升级到 Ubuntu 的一个更高版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/619576.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3D开发工具HOOPS:推动汽车行业CAD可视化发展

在最近的行业对话中,Tech Soft 3D(HOOPS厂商)的Jonathan Girroir和Actify的Peter West探讨了CAD可视化在当代企业中的重要性和挑战。作为CAD可视化领域的佼佼者,Actify通过其广受欢迎的Spinfire应用,赋能了全球40多个国…

吃透1250道AMC10历年真题和详细解析,科学高效备考2024年AMC10

距离2024年AMC10比赛正式开始还有6个多月的时间,备考要趁早。 我们今天继续来随机看5道AMC10真题,以及详细解析,这些题目来自1250道完整的官方历年AMC10真题库。 2000-2023年AMC10真题练习和解析:2020年第21题 这道题的考点是等比…

关于机器学习/深度学习的一些事-答知乎问(五)

嵌入学习方法在解决小样本学习问题时面临的挑战是什么? (1)过度依赖于辅助数据,预训练的模式违背了小样本学习的本质定义。几乎所有的嵌入学习方法都需要通过大量辅助样本来预训练特征嵌入函数,但在实际应用场景中&am…

大数据存储解决方案和处理流程——解读大数据架构(四)

文章目录 前言数据存储解决方案数据集市运营数据存储(Operational Data Store)数据中心 数据处理数据虚拟化和数据联合虚拟化作为 ETL 或数据移动的替代品数据目录数据市场 前言 在数字时代,数据已成为公司的命脉。但是,仅仅拥有…

VectorMap论文阅读

1. 摘要 自动驾驶系统需要对周围环境具有很好的理解,包括动态物体和静态高精度语义地图。现有方法通过离线手动标注来解决语义构图问题,这些方法存在严重的可扩展性问题。最近的基于学习的方法产生稠密的分割预测结果,这些预测不包含单个地图…

数据结构课程设计选做(三)---公共钥匙盒(线性表,栈,队列)

2.3.1 题目内容 2.3.1-A [问题描述] 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后&…

TQ15EG开发板教程:在MPSOC上运行ADRV9371(vivado2018.3)

首先需要在github上下载两个文件,本例程用到的文件以及最终文件我都会放在网盘里面, 地址放在本文最后。首先在github搜索hdl选择第一个,如下图所示 GitHub网址:https://github.com/analogdevicesinc/hdl/releases 点击releases…

在CentOS7中安装MySQL

mysql软件安装包已提供文章顶部,有需要的可以自行下载,也可以参考文中的链接自行下载版本号。(如果没有请看个人资源列表) 本文主要介绍在centos7中如何安装mysql,以及安装过程中所遇到的问题进行解决。 后期通过Navicat Premium 16链接centos7的mysql数据库进行校验。 包…

C++ | Leetcode C++题解之第30题串联所有单词的子串

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> findSubstring(string &s, vector<string> &words) {vector<int> res;int m words.size(), n words[0].size(), ls s.size();for (int i 0; i < n && i m …

Fiddler工具的操作和功能时-----定位到步骤图(助力抓包)

前言&#xff1a; 继续上一篇&#xff0c;已经对fiddler的安装、配置和代理的问题进行了讲解&#xff1a; Fiddle配置代理&#xff0c;保手机模拟器访问外部网络-CSDN博客 本章&#xff0c;讲对一些fiddler的操作进行一系列讲解&#xff01;Fiddler作为一款网络调试工具&…

【Go语言快速上手(一)】 初识Go语言

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Go语言专栏⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Go语言知识   &#x1f51d;&#x1f51d; Go快速上手 1. 前言2. Go语言简介(为…

【管理咨询宝藏69】罗兰贝格某大型集团五年战略规划报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏69】罗兰贝格某大型集团五年战略规划报告 【格式】可编辑的PPT格式 【关键词】顶级咨询公司、5年战略规划、战略咨询 【核心观点】 - 新一轮战略…