用py2exe打包Python3.x应用

用py2exe打包Python3.x应用


能把python文件打包成.exe可执行文件的东西,据我所知有三个 ,Pyinstaller,py2exe,cx_freeze和。据网上的评价是py2exe和Pyinstaller比较好用,尤其是Pyinstaller似乎更好用一点。后两个已经支持python3.x,后者目前(2015-09-03)还不支持。我只用过py2exe,感觉很好用很强大,以下表格内容部分来自网络。

 

大家的评价

打包成单独一个exe文件

支持python3.x

py2exe

比较简单易用

Pyinstaller

最强大(windows,Linux都能用,较简单)

×

cx_freeze

比较麻烦

×


py2exe其实已经支持python3.x了,可能很多人还不知道,以下是目前最新版本的下载地址(2014-10-21版)。
https://pypi.python.org/pypi/py2exe/0.9.2.2
py2exe for Python 2 在以下网址还可以下到,但好像好久没更新了
http://sourceforge.net/project/showfiles.php?group_id=15583


我的想法是写好一个脚本,以后要用的时候直接套用就可以了,在pythoner中找到一个很好的例子,以后可以就用这个脚本了,而且用Qt写的应用也能打包,真的很方便,就是图标暂时还不能正常显示,以后研究一下。
  
'''
  
转自Pythoner把脚本和要打包的文件放到同一个文件夹,双击该脚本即可
  
更多信息请见
  
http://www.pythoner.com/111.html
  
http://www.py2exe.org/index.cgi/FrontPage
  
https://pypi.python.org/pypi/py2exe/0..2.2
  
在以后用到更多模块时需要添加更多东西
  
http://www.py2exe.org/index.cgi/WorkingWithVariousPackagesAndModules
  
'''
 10 
from distutils.core import setup
 11 
import py2exe
 12 
import sys
 13 
 
 14 
# this allows to run itwith a simple double click.
 15 
sys.argv.append ( ' py2exe ' )
 16 
 
 17 
py2exe_options = {
 18 
        " includes " : [ " sip " ] , # 如果是Qt应用要加上这一行,如果不是则不需要
 19 
        " dll_excludes " : [ " MSVCP90.dll " , ] ,
 20 
        " compressed " : 1 , # 1--压缩文件
 21 
        " optimize " : 2 ,
 22 
        " ascii " : 0 ,
 23 
        " bundle_files " : 0 , }
 24 
 
 25 
setup (
 26 
      name = ' PyQtDemo ' ,
 27 
      version = ' 1.0 ' ,
 28 
      windows = [ { ' script ' : ' Final.py ' , # 此处改为要打包的脚本
 29 
      # 'icon_resouces':[(0,'sss.ico')] #如果包含图标'''
 30 
      } ] ,
 31 
      zipfile = None ,
 32 
      options = { ' py2exe ' : py2exe_options }
 33 
      )
参数解释
py2exe_options
includes:
   如果是PyQt应用,加上["sip"]

dll_excludes:
   需要排除的dll文件,”MSVCP90.dll”不排除的话会error: MSVCP90.dll: No such file ordirectory

optimize:
    0 - don’toptimize (generate .pyc)
    1 - normaloptimization (like python -O)
    2 - extraoptimization (like python -OO)
   
bundle_files:
    3 - createscript.exe, python.dll, extensions.pyd, others.dll.
    2 - createscript.exe, python.dll, others.dll.
    1 - createscript.exe, others.dll.
    0 - createscript.exe.


setup

若是控制台应用,用"console="
若是GUI应用,用"windows="

zipfile:
   默认会在dist目录里生成一个zip压缩包
    None -不生成zip压缩包,zip压缩包直接包含在exe文件里


Python3.x版py2exe应该更加强大,更加方便。主要体现在
     1.原文为“The C-runtime library for Python 3 does NOT need a windowsmanifest any longer to load correctly (this is a feature of Python,not of py2exe)”由于电脑和英语水平有限,不知道这是否意味着不需要添加那些烦人的C runtimeDLL文件了。反正我编了一个东西,没有手动添加任何dll文件,生成的可执行文件在别人的电脑上正常运行。
     2.能自动寻找一些库,而不需要手动添加(不是所有的库都可以)
     3.不生成临时的build目录
     4.除了写一个setup.py外,还可以直接在命令行直接用一条命令生成exe文件。参见下载地址后面的说明。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值