‘Python’ 分类的存档
1、使用png格式作为文件图标可能会造成打包程序执行的python进程崩溃,最近在打包一个程序的时候在2.6、2.7的32及64位版本下均遇到了此问题 2、打包2.6及以上版本程序时需要将msvcp90.dll打包进去。否则到了其他的机器上可能出现缺少动态链接库的问题。同时还要包含Microsoft.VC90.CRT.manifest这个文件,否则也会缺少dll 3、程序本身的manifest文件要包含以下的内容 <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"> </assemblyIdentity> </dependentAssembly> </dependency> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> 否则也会出现缺少动态链接库。
将数据使用gzip压缩后提交,减小数据包的大小 import StringIO,gzip def zipData( content): ”’gzip压缩数据”’ zbuf = StringIO.StringIO() zfile = gzip.GzipFile(mode=’wb’, compresslevel=9, fileobj=zbuf) zfile.write(content) zfile.close() return zbuf.getvalue()
历时10小时,终于解决了3台机器上的web.py框架的程序在lighttpd下跑fastcgi错误的问题 综合起来有以下几点, 1、系统中包含了多个python的解释器,使用python命令与/usr/bin/python不是同一个解释器,这种情况下web.py可能无法使用正确的解释器,这点在centos下比较容易出现,可以修改程序中的python解释器的位置,或者将/usr/bin/python修改为与python命令相同的解释器 2、文件权限不正确,文件必须具有755权限 3、PYTHON_EGG_CACHE无权限。 这个可以修改程序。增加: os.environ[’PYTHON_EGG_CACHE’] = ‘/tmp/.python-eggs’ 4、文件的换行符不正确,这点最不容易发现了,由于fastcgi只能识别unix下的换行符,而一般的python编辑器都是使用的windows下的换行符,因此会出现child exited with status 127错误,可以将文件使用其他的编辑器保存为unix的换行符即可 另外未安装必须的支持库也可能引起fastcgi失败
python-tokyocabinet扩展在python下安装的时候可能会报告tcutil.h和tctdb.h不存在的问题,这样的时候你需要手工修改python的扩展安装脚本。 from setuptools import setup, Extension setup( name = "tokyocabinet", version = "0.5", packages = [’tokyocabinet’], ext_modules = [ Extension( "tokyocabinet.btree", [’tokyocabinet/btree.c’], include_dirs = [’/usr/local/tokyocabinet/include’], library_dirs = [’/usr/local/tokyocabinet/lib’], libraries=["tokyocabinet"] ), Extension( "tokyocabinet.hash", [’tokyocabinet/hash.c’], include_dirs = [’/usr/local/tokyocabinet/include’], library_dirs = [’/usr/local/tokyocabinet/lib’], libraries=["tokyocabinet"] ), Extension( "tokyocabinet.table", [’tokyocabinet/table.c’], include_dirs = [’/usr/local/tokyocabinet/include’], library_dirs = [’/usr/local/tokyocabinet/lib’], libraries=["tokyocabinet"] ) ], [...]
Building C and C++ Extensions with Distutils 用Distutils创建C/C++扩展 Starting in Python 1.4, Python provides, on UNIX, a special make file for building make files for building dynamically-linked extensions and custom interpreters. Starting with Python 2.0, this mechanism (known as related to Makefile.pre.in, and Setup files) is no longer supported. Building custom interpreters was rarely used, [...]
Python 有两个内建的模块用于处理命令行参数,一个是 getopt,《Deep in python》一书中也有提到,只能简单处理命令行参数;另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。
花了前后将近一个星期的时间,终于用PyQT实现了我的第一个程序。本程序实现了使用QThread后台处理数据、QThread的暂停,恢复、停止等功能。 主要有几个问题: 1、后台单独线程处理数据的问题;最初不明白QT在子线程中不能操作GUI的问题,因此查了很久的GUI的crash的问题 2、界面的布局;理解了gridLayout这个非常方便的布局方法。
有时候简单的程序就那么点东西, 为了使用 pyrex 加速还得分开模块 再写 setup.py 实在有些不符合 Zoomq 大妈精神 于是就写了个 ~/bin/mkpyrexc.sh 来自动完成 pyrex 任务 她直接把符合 pyrex 语法的 python 文件编译为 .so 模块或可执行文件, 不需要添加任何 .c 或 .pxi 文件 只需要给你的代码加个 main() 入口, 然后执行 mkpyrexc.sh -x *.pyx 创建可执行文件 有时候简单的程序就那么点东西,为了使用 pyrex 加速还得分开模块再写 setup.py 实在有些不符合 Zoomq 大妈精神 于是就写了个 ~/bin/mkpyrexc.sh 来自动完成 pyrex 任务 她直接把符合 pyrex 语法的 python 文件编译为 .so 模块或可执行文件,不需要添加任何 .c 或 [...]
首先谢谢HonestQiao和nzinfo两位同志;对于我对你们不断的骚扰我很抱歉,谢谢 我只列出主要的代码,其他细节请各位自己完善。 此处的ini库的下载地址:http://code.google.com/p/dict4ini/ 另外提醒大家,请把所有的关于数据读取的程序都写到你的数据源里,千万别偷懒用继承的方式。可能会生成索引错误的。 csft会自动调用python数据源中的OnIndexFinished方法,因此去掉在数据源中手工调用的部分 2010-07-12 更新deltaSource中的OnIndexFinished方法,原方法会造成增量索引数据量错误。也就是增量索引的量会少于实际的量。
secache简介: php编写的文件型缓存解决方案 纯php实现, 无须任何扩展,支持php4 / 5 使用lru算法自动清理过期内容 可以安全用于多进程并发 最大支持1G缓存文件 使用hash定位,读取迅速 花了几天的功夫,将它用python实现了出来,终于解决了一直困扰自己的没有熟悉或者好用的python文件缓存的问题。同时也回顾了php的pack和unpack的用法熟悉了python的pack和unpack。http://code.google.com/p/secache/ 改天放出来。用法和php版本仅仅有细微的差别,同时可以被php版本识别
