免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7166 | 回复: 2
打印 上一主题 下一主题

py2exe 中文问题总结! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-16 15:27 |只看该作者 |倒序浏览
首先是python显示中文的问题,我们可以指定python默认的编码方式。
在 Python24\Lib\site-packages\  的目录里面新建一个文件名字  “sitecustomize.py”
内容

  1. import sys

  2. sys.setdefaultencoding('gb2312')
复制代码


这样你在命令行方式使用的时候显示中文就正常了!

我遇到的一个问题是在用py2exe之前在windows上测试都正常,编译后生成exe文件以后出现错误

  1. UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)
复制代码


让我非常郁闷,后来在同事的机器上测试发现我的源码在他的机器上运行就会报告错误!
后来想起我改过的和他的不同就是我加了一个文件“sitecustomize.py”,现在就是想在py2exe编译的时候把这个文件加进去。后来在一个网站上发现了解决办法就是在我的源程序里面包含“sitecustomize.py”这个文件就可以了!


  1. import sys,sip
  2. import sitecustomize
  3. ..........
复制代码


"import sitecustomize " 文件里面包含这个一行,我再用python setup.py py2exe 生长可执行文件以后运行就不出现上面提到的“UnicodeEncodeError”错误了!
sip 这个模块是在做用pyqt的时候需要的一个包,不是必须的!
还有顺便说一下"setup.py" 这个文件我的是这样写的可以只生成一个单独的文件!

  1. from distutils.core import setup
  2. import py2exe

  3. includes = ["encodings", "encodings.*"]
  4. options = {"py2exe":
  5.             {   "compressed": 1,
  6.                 "optimize": 2,
  7.                 "includes": includes,
  8.                 "bundle_files": 1
  9.             }
  10.           }
  11. setup(   

  12.     version = "0.1.0",
  13.     description = "filename",
  14.     name = "filename",
  15.     options = options,
  16.     zipfile=None,
  17.     windows=[{"script": "filename.py",}],  
  18. )

复制代码

不过发现生成的文件比较大,不知道是不是有什么方法让他小一点!

[ 本帖最后由 kai0200 于 2006-8-16 15:29 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-08-16 15:33 |只看该作者
sip 的问题用py2exe发现另外的一个问题就是编译的时候报告找不到模块 sip 详细看了一下pyqt安装说明他是要求安装这个的,安装他你最好有C语言环境他需要编译!然后在程序源文件里面

  1. import sip  
复制代码

这样就可以了!

论坛徽章:
0
3 [报告]
发表于 2006-08-28 12:56 |只看该作者
减小体积
python -OO setup.py py2exe
upx --best *
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP