最近花了一天的时间使用Pygtk开发了一个下载器Demo,这个小工具也可以认为是在线升级的原始模型,功能很简单,根据配置文件的Url地址下载数据到本地。
之前一直都没有接触过gtk编程,好在高中时就开始用VB写Winform程序,有事件触发机制编程的基础,因此上手写程序比较顺利,可是在打包部署时却遇到了不少的小麻烦。
恩,本篇文章不是介绍怎么开发这样的工具,而是介绍以下2个主题:
一、如何在windows平台下配置gtk开发环境
二、使用Py2exe打包
也许您会认为安装软件是很容易的事情,可是我花在这2个主题上的时间比编码实现功能的时间的比例是2:8,也许是我在这2个主题上接触少,研究不够透彻。
一、如何在windows平台下配置gtk开发环境
这个环节还是非常容易的,可以从官方网站下载到安装文件,但值得的注意的是:您的Python环境建议使用2.6以下,2.6以上的打包时会出现无法找到module等错误,在
2.6以上的环境下解决办法没有找到,我是使用Python2.5解决这个问题的。
1、安装Python2.5
(设置PATH)
2、安装pygtk:
>> PyCairo
>> PyGObject
>> PyGtk
3、安装gtk+
运行时
将下载的安装包解压后并设置PATH
以上步骤完成后,我们就可以写个小小的测试程序检验是否成功安装:(以下是在Python命令行模式下)
>>>import pygtk
>>>import gtk
>>>window = gtk.Window(gtk.WINDOW_TOPLEVEL)
>>>window.show()
运行以上程序,如果弹出窗口,那说明您的运行环境安装成功,那么我们可以顺利进行第2个主题了。
二、使用Py2exe打包
我们知道您开发的程序运行在客户机器上,他们的机器一般是不能直接运行您的程序的。比如客户机器如果没有安装Python运行环境就不能运行使用Python语言编写的程序,
那么如何让这些机器运行程序呢?我们必须使用Python的打包工具制作成能够运行在没有安装python运行环境的机器上程序。比如这些Py2exe
、PyInstaller
。
安装Py2exe
:
制作打包配置程序,格式如下:(Setup.py)
from distutils.core import setup
import py2exe
opts = {
"py2exe": {
"includes": ["pango", "atk", "gobject", "gtk", "cairo", "pangocairo"],
}
}
setup(
name = "Demo",
description = "Demo App",
version = "Demo",
windows = [{"script": "AppName.py","icon_resources": [(1, "*.ico")]}],#Python程序文件和程序Ico
options=opts
)
这时我们可以使用命令将我们使用Python语言编写的程序打包:
Python Setup.py py2exe
运行上面的命令后,我们就得到这个文件夹dist、build,其中dist文件夹下的文件就是打包后的程序了,可以独立运行在没有安装Python环境的机器上。
恩,这是一般程序的打包步骤,但是对本篇文章介绍的主题而言,我们还需要做一些工作,因为gtk有默认的字体和一些运行库,我们需要将gtk安装文件下的(etc,lib)
文件夹复制到dist文件下。这样我们的程序将可以正常的运行了。
三、问题总结
我再使用pygtk和打包的时候,遇到过以下这些问题,并有相应的解决方案,当您在遇到这些问题之时,希望对您有所帮助。
Q:gtk在Python2.6以上版本时打包出现警告信息或错误信息,导致程序无法运行,是因为版本问题。
A:可以考虑降低Python的版本,我是这么解决的。
Q:Py2exe打包后,运行程序无法找到modules或library
A:在Setup.py安装配置文件中使用includes,将library包含进来
Q:Py2exe打包后,运行程序出现警告
A:由于gtk运行时有默认字体等库的使用,因此需要将gtk安装文件的这些文件夹(etc,lib)复制到dist下。
恩,这些问题都是我在开发这个工具并打包的过程中遇到的,希望对您有帮助,如果您在使用的时候也遇到了一些问题,不妨分享您是怎么解决的。
分享到:
相关推荐
python转exe工具 -- python2.7版本的py2exe软件,可以将python转化为exe可执行文件。 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows...
一、简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的...从http://prdownloads.sourceforge.net/py2exe下载并运行与你所安装的Python对应的py2exe版本的 installer,这将安装py2exe和
Python使用Pygtk和Py2exe 使用到的程序包 https://www.cnblogs.com/cbbukn/archive/2010/11/15/1877487.html
从http://prdownloads.sourceforge.net/py2exe下载并运行与你所安装的Python对应的py2exe版本的installer,这将安装py2exe和相应的例子;这些例子被安装在lib\site-packages\py2exe\samples目录下。 三、py2exe的...
py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序。py2exe是发布在开源许可证下的。 二、安装py2exe 从http://prdownloads.sourceforge.net/py2exe下载并运行与你...
用 python+pygtk+glade3 实现Yahoo翻译桌面版.docx
使用Pygtk写的几个例子,充分使用Python语言的特性。 是学习Pygtk的很好的参考例子
Python代码,基于pyGTK,实现查询功能,可以用于相关学习
用python+pygtk+glade3实现Yahoo翻译桌面版.pdf
py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序。py2exe是发布在开源许可证下的。 二、安装py2exe 从 http://prdownloads.sourceforge.net/py2exe下载并运行...
pygtk的文档,英文的。大家应该知道这东西吧。gtk GUI的Python绑定。
利用python语言实现图形用户界面可以使用一些简单的工具,但是如果想要学习高端的图形界面,pygtk是必不可少的
开发语言为 python,利用 gtk 模块,使得连接更加人性化,不 用每次都输入 根用户密码,只需要在第一次运行时输入一次密码就可以了,本程序面向中国大 陆大学中,在 Linux 系统下使用锐捷进行上网认证的大学生。
python-pygtk
pygtk-all-in-one-2.24.0.win32-py2.7.part2
= v2.7: python pygtk: pygtk2 gpg / openssl: gnupg2或gnupg或openssl 如上所述,Pyrite与RHEL6不兼容。DEBIAN / UBUNTU /其他LINUX安装有一个简单的交互式外壳安装程序。 在使用它之前,请确保您
pygtk2官方教程,英文原版,你值得拥有