Python打包可执行文件的方法详解


Posted in Python onSeptember 19, 2016

本文实例讲述了Python打包可执行文件的方法。分享给大家供大家参考,具体如下:

Python程序需要依赖本机安装的Python库,若想在没有安装Python的机器上运行,则需要打包分发,目前有两个比较好用的工具:PyInstaller和py2exe。其中py2exe应用在windows下,而PyInstall则可应用windows、Linux以及Mac OS X上。

这里只贴一段py2exe打包的实例代码。(py2exe下载地址 )

#coding=utf-8
from distutils.core import setup
import py2exe
includes = ["encodings", "encodings.*"]
#要包含的其它库文件
options = {"py2exe":
  {
    "compressed": 1, #压缩
    "optimize": 2,
    "ascii": 1,
    "includes": includes,
    "bundle_files": 1 #所有文件打包成一个exe文件
  }
}
setup (
  options = options,
  zipfile=None,  #不生成library.zip文件
  console=[{"script": "main.py", "icon_resources": [(1, "Q.ico")] }]#源文件,程序图标
)

假如上面的源码保存为mysetup.py,则打包命令为: python mysetup.py py2exe 。

PS:使用Enigma Virtual Box同样可以让Py2exe打包出的单文件更完美。Enigma Virtual Box可点击此处本站下载:https://3water.com/softs/425055.html

两个用过的实例:

(1)、后台运行

#coding=utf-8
from distutils.core import setup
import py2exe
includes = ["encodings", "encodings.*"]
#要包含的其它库文件
options = {"py2exe":
  {
    "compressed": 1, #压缩
    "optimize": 2,
    "ascii": 1,
    "includes": includes,
    "bundle_files": 1 #所有文件打包成一个exe文件
  }
}
setup (
  options = options,
  zipfile=None,  #不生成library.zip文件
  windows=[{"script": "main.py" }]#源文件
)

(2)、不得不有控制台窗口,且不能打包为一个exe文件。(walker是因为调用了浏览器)

#coding=utf-8
from distutils.core import setup
import py2exe
setup(
  console = [{'script': "main.py"}],
  options={
      "py2exe":{
          "skip_archive": True,
          "unbuffered": True,
          "optimize": 2
      }
  }
)

PS:关于使用PyInstalle把Python脚本打包成exe文件,可参考本站文章:https://3water.com/article/88235.htm

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python中使用xlrd、xlwt操作excel表格详解
Jan 29 Python
Python中的random()方法的使用介绍
May 15 Python
详解在Python程序中自定义异常的方法
Oct 16 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
对python中的高效迭代器函数详解
Oct 18 Python
Django2.1.3 中间件使用详解
Nov 26 Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 Python
python 将对象设置为可迭代的两种实现方法
Jan 21 Python
python 实时调取摄像头的示例代码
Nov 25 Python
python 如何对logging日志封装
Dec 02 Python
python 逐步回归算法
Apr 06 Python
详细介绍python操作RabbitMq
Apr 12 Python
Python实现拷贝多个文件到同一目录的方法
Sep 19 #Python
利用Python画ROC曲线和AUC值计算
Sep 19 #Python
Python文件与文件夹常见基本操作总结
Sep 19 #Python
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 #Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 #Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 #Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 #Python
You might like
php定界符
2014/06/19 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
轮播的简单实现方法
2016/07/28 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
Vue keep-alive实践总结(推荐)
2017/08/31 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
JS实现简单的星期格式转换功能示例
2018/07/23 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
微信小程序实现拍照画布指定区域生成图片
2019/07/18 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
Vue开发中常见的套路和技巧总结
2020/11/24 Vue.js
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
Python中的 enum 模块源码详析
2019/01/09 Python
python实现二维数组的对角线遍历
2019/03/02 Python
django 类视图的使用方法详解
2019/07/24 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
毕业生自荐信的主要内容
2013/10/29 职场文书
师范大学应届生求职信
2013/11/21 职场文书
消防安全宣传口号
2014/06/10 职场文书
2014年财务工作自我评价
2014/09/23 职场文书