原创 py2exe中文问题总结

2011-8-17 18:14 2762 18 18 分类: 软件与OS

py2exe 中文问题总结

2010年10月18日

16:32

首先是python显示中文的问题,我们可以指定python默认的编码方式。

在 Python24\Lib\site-packages\  的目录里面新建一个文件名字  “sitecustomize.py”

内容

  1. 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. )

复制代码

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

 

 

转载 <http://bbs.chinaunix.net/viewthread.php?tid=812379

文章评论0条评论)

登录后参与讨论
我要评论
0
18
关闭 站长推荐上一条 /2 下一条