股票

python程序打包为exe文件

工作环境:winxp

  1. #convert2exe.py  
  2. #!/usr/bin/python  
  3. #filename:convert2exe.py  
  4. #coding=utf-8  
  5.   
  6. from distutils.core import setup  
  7. import py2exe  
  8.   
  9. includes = [“encodings“, “encodings.*”]  
  10.   
  11. options={“py2exe“:  
  12. {“compressed”:1,#  
  13. “optimize”:2,  
  14. “includes”:includes,  
  15. “bundle_files”:1,  
  16. “ascii”:0,  
  17. “dll_excludes”:[“MSVCP90.dll”]  
  18. }  
  19. }  
  20. setup(  
  21. version = “1.01”,  
  22. description = “Very Good”,  
  23. name = “RCUTool”,  
  24. options = options,  
  25. zipfile = None,  
  26. windows = [{“script”: “RCUTool.py”}]  
  27. )  

“dll_excludes”是需要排除的dll文件,这里的”MSVCP90.dll”文件,如果不排除的话会报error: MSVCP90.dll: No such file or directory错误。

“compressed”为1,则压缩文件。

“optimize”为优化级别,默认为0。

“ascii”指自动包含encodings和codecs。

“bundle_files”是指将程序打包成单文件(此时除了exe文件外,还会生成一个zip文件。如果不需要zip文件,还需要设置zipfile = None)。1表示pyd和dll文件会被打包到单文件中,且不能从文件系统中加载python模块;值为2表示pyd和dll文件会被打包到单文件中,但是可以从文件系统中加载python模块。64位的Py2exe不要添加本句。

windows = ['pyqtdemo.py',],这里使用的是windows,即没有命令行窗口出现,如果使用console则表示有命令行窗口出现。

执行该文件,会得到一个build文件夹和一个dist文件夹。其中,dist文件夹,就是你得到的打包程序。

如果按照上述代码执行成功,则应该dist文件夹中,只包括程序的exe文件和w9xpopen.exe。w9xpopen.exe是针对windows9x版本的,一般来说该文件并不需要。

如果bundle_files不为1、2,则dist文件夹中还会包括一些dll文件和pyd文件(Python Dll文件)。如果bundle_files为2,dist文件夹会包括一个python##.dll文件,如果为1则不会。

如果没有使用zipfile=None,还会生成一个library.zip文件。

打赏
原文链接:,转发请注明来源!

发表评论