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 相关文章推荐
在Django中创建URLconf相关的通用视图的方法
Jul 20 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
使用python读取.text文件特定行的数据方法
Jan 28 Python
python使用Paramiko模块实现远程文件拷贝
Apr 30 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
python标准库sys和OS的函数使用方法与实例详解
Feb 12 Python
Python实现名片管理系统
Feb 14 Python
python实现ftp文件传输系统(案例分析)
Mar 20 Python
django实现将修改好的新模型写入数据库
Mar 31 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
Jun 24 Python
如何在python中判断变量的类型
Jul 29 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 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
php intval函数用法总结
2019/04/14 PHP
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
VueJs监听window.resize方法示例
2018/01/17 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
深入理解Python中的super()方法
2017/11/20 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
python实现人民币大写转换
2018/06/20 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
2020/07/20 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
简历中个人求职的自我评价模板
2013/11/29 职场文书
大学生文员专业个人求职信范文
2014/01/05 职场文书
土木建筑学生自我评价
2014/01/14 职场文书
庆中秋节主题活动方案
2014/02/03 职场文书
化妆品店促销方案
2014/02/24 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
MySQL创建定时任务
2022/01/22 MySQL
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL