文章标签 ‘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"] ) ], [...]
有时候简单的程序就那么点东西, 为了使用 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方法,原方法会造成增量索引数据量错误。也就是增量索引的量会少于实际的量。
