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进行基础的函数式编程的教程
Mar 31 Python
用Python中的wxPython实现最基本的浏览器功能
Apr 14 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
Apr 20 Python
Python中创建字典的几种方法总结(推荐)
Apr 27 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 Python
Python 在字符串中加入变量的实例讲解
May 02 Python
Python基于opencv实现的简单画板功能示例
Mar 04 Python
在macOS上搭建python环境的实现方法
Aug 13 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
Python机器学习之逻辑回归
May 11 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
咖啡的种类和口感
2021/03/03 新手入门
php与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
常用PHP封装分页工具类
2017/01/14 PHP
Swoole源码中如何查询Websocket的连接问题详解
2020/08/30 PHP
Ext grid 添加右击菜单
2009/11/26 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
使用Vue构建可重用的分页组件
2018/03/26 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
原生JS实现轮播图效果
2018/10/12 Javascript
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
python动态性强类型用法实例
2015/05/09 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
python爬取内容存入Excel实例
2019/02/20 Python
python全栈知识点总结
2019/07/01 Python
python列表的逆序遍历实现
2020/04/20 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
详解使用scrapy进行模拟登陆三种方式
2021/02/21 Python
BCBG官网:BCBGMAXAZRIA
2017/12/29 全球购物
工作表扬信的范文
2014/01/10 职场文书
厨房管理计划书
2014/04/27 职场文书
护理心得体会范文
2016/01/22 职场文书
深度学习tensorflow基础mnist
2021/04/14 Python
Python实现随机生成迷宫并自动寻路
2021/06/13 Python