python打包exe pyinstaller 简单使用
源由
最近公司让做了一个小工具,使用python写的,写完之后要求能放在其它电脑上运行,于是就开始寻找方案;
按网上的说法 py2exe已经很久没更新了,资料也不多;
于是就采用pyinstaller来生成exe程序;
环境
pyintaller 正式版 支持2.7及3.3-3.5的python版本
pyinstaller 开发版 支持2.7及3.3-3.6版本
我使用的python是3.6.1的,直接使用pip install pyinstaller下载来的会报out of range 的错误,需要安装开发版;
pyinstaller安装
3.6之前的版本 : pip install pyinstaller
3.6+的版本:
- 从 官方网站 下载开发版;
- 解压,在命令行中 cd 到解压后的源码目录中
- python setup.py install 完成安装
生成exe文件
pyinstaller [options] XXX.py
在这一步里常用的参数如下: -c 命令行程序 -w GUI程序 –icon="path" 生成exe的图标 -F 生成单个EXE文件
默认情况下生成的是单个目录,里面包含一个可执行文件及相关依赖,是分开的;如果使用-F或 –onefile时,将会把所有依赖打包时exe文件中
默认情况下均会包含有命令行,好处是在出错的时候会告诉你哪里出错了,GUI程序在调试完成后可以指定 -w 的参数取消命令行提示
默认情况下的快捷方式图标比较丑,自己选择一个吧
默念情况下生成的是单目录,有利于更新,但看起来比较乱,请自行选择吧
修改XXX.spec
如果你没有依赖外部图片、字体等资源时,可以跳过该步骤;
加入依赖的外部资源,下面的例子就是加入外部字体文件(1.ttf和7.ttf):
a =Analysis(['window.py'],
pathex=['E:\\pycharm Space\\pyStudy\\window'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
a.datas +=[('1.ttf','D:\\fonts\\1.ttf','DATA'),('7.ttf','D:\\fonts\\7.ttf','DATA')]
生成exe文件
执行 pyinstaller XXX.spec 就可以得到可执行文件了;
如果是单文件模式:生成文件位置为: dist/XXX.exe
如果是单目录模式: 生成文件位置为: dist/XXX/XXX.exe
异常处理
如果在执行exe文件出错时,请使用命令行执行,会提示异常信息的~~~
如果没有异常,可能原因是在打包时加了 -w 的参数强制使用了GUI模式,把这个参数去掉再试一次
python打包exe pyinstaller 简单使用的更多相关文章
- python打包exe之pyinstaller用法
pyinstaller可以将python写好的脚本打包成exe文件,方便windows用户在没有python环境下运行.这个程序完全跨平台,包括Windows.Linux.Mac OS X等多个操作系 ...
- Python打包EXE神器 pyinstaller
最近由于项目需要,以前的python文件需要编辑为EXE供前端客户使用. 由于最早接触的是distutils,所以一开始准备使用distutils和py2exe搭配来进行python的exe化,也就是 ...
- $python打包工具pyinstaller的用法
pyinstaller是一个很好用的python打包工具,在Windows环境下可以将python脚本打包成一个exe可执行文件,并且脚本中所依赖的各种第三方库在打包时候都会被统一处理到一起,这样打包 ...
- python打包工具 --- pyinstaller
安装 安装python并添加到环境变量之后,在终端执行如下命令即可: pip install pyinstaller 截图如下: 若安装失败,可到: https://www.lfd.uci.edu/~ ...
- python 打包exe
下载及安装:pip install pyinstaller 执行命令: pyinstaller -F xxx.py pyinstaller --onefile meng.py 可以运行的exe文件位于 ...
- Python打包方法——Pyinstaller (转)
Python版本:Python3.5.2 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后 ...
- Python打包方法——Pyinstaller
Python版本:Python3.5.2 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 ...
- python打包工具pyinstaller的使用
安装PyInstaller pip install pyinstaller 安装完后,检查安装成功与否: pyinstaller --version 安装成功后,就可以使用下面的命令了: pyinst ...
- Python打包之pyinstaller
Pyinstaller 进行对应目录下的打包 执行完后请注意建议将该m2的拷贝走 加了参数-w后不会出现黑色控制台的窗子 常用参数说明: –icon=图标路径 -F 打包成一个exe文件 -w 使用窗 ...
随机推荐
- plsql部分字段中文乱码,sqlplus中文乱码
PLSQL中文乱码 问题: 解决: 思路1:设置 export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 结果:并不能解决问题! ...
- Chloe.ORM框架应用实践
Chloe.ORM 是国人开发的一款数据库访问组件,很是简单易用.目前支持四种主流数据库:SqlServer.MySQL.Oracle,以及Sqlite,作者为这四种数据库划分出了各自对应的组件程序集 ...
- 【源码】canal和otter的高可靠性分析
一般来说,我们对于数据库最主要的要求就是:数据不丢.不管是主从复制,还是使用类似otter+canal这样的数据库同步方案,我们最基本的需求是,在数据不丢失的前提下,尽可能的保证系统的高可用,也就是在 ...
- 浅谈script标签中的async和defer
script标签用于加载脚本与执行脚本,在前端开发中可以说是非常重要的标签了.直接使用script脚本的话,html会按照顺序来加载并执行脚本,在脚本加载&执行的过程中,会阻塞后续的DOM渲染 ...
- Appium python自动化测试系列之Android UIAutomator终极定位(七)
android uiautomator text定位 可能有人不知道为什么说android uiautomator是终极定位,而且android uiautomator和appium有什么关系呢?如果 ...
- win10 UWP RSS阅读器
RSS简易信息聚合(也叫聚合内容)是一种RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议.RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使 ...
- swiper使用小结
最近做一个移动端项目想用Swiper移动端插件,需求实现一个轮播图的效果,并且需要自定义分页器,效果跟这个差不多这里demo 好吧,开始动手! 注意参考的3.0Swiper的API文档需要引入3.0版 ...
- PLSQL Developer oracle导入导出表及数据
1.进入PLSQL Developer 2.创建新用户(如需要新表空间则需先创建新表空间再创建用户) 3.打开菜单Tools->Export User Objects 导出表及视图等创建SQL ...
- 笨鸟先飞之ASP.NET MVC系列之过滤器(06异常过滤器)
概念介绍 异常过滤器主要在我们方法中出现异常的时候触发,一般我们用 异常过滤器 记录日志,或者在产生异常时做友好的处理 如果我们需要创建异常过滤器需要实现IExceptionFilter接口. nam ...
- JAVA中HashMap和Hashtable区别
Hashtable和HashMap在Java面试中相当容易被问到,甚至成为了集合框架面试题中最常被考的问题,所以在参加任何Java面试之前,都不要忘了准备这一题. 我们先看2个类的定义 public ...