安装  

安装python并添加到环境变量之后,在终端执行如下命令即可:

pip install pyinstaller

截图如下:

若安装失败,可到:

https://www.lfd.uci.edu/~gohlke/pythonlibs/

下载编译好的whl文件:

  执行  

然后在终端执行:

pip install xxx.whl

注:请自行将xxx修改为你下载的whl文件名,别傻乎乎的就用xxxT_T。

测试是否安装成功:

  普通打包  

若需将xxx.py文件打包,只需在终端执行:

pyinstaller xxx.py

注:终端需切换至xxx.py文件所在目录下。路径中不要有中文!!!!!!!!!!

  这个就是生成打包文件的位置,在打包过程中可以看到

在打包过程中,会生成一些文件,打包文件就在  dist  里面

常用可选项及说明:

-F:打包后只生成单个exe格式文件;

-D:默认选项,创建一个目录,包含exe文件以及大量依赖文件;

-c:默认选项,使用控制台(就是类似cmd的黑框);

-w:不使用控制台;

-p:添加搜索路径,让其找到对应的库;

-i:改变生成程序的icon图标。

完整可选项及说明:

  特殊打包  

我们可以通过编辑spec文件来满足一些特殊的打包要求。

注:什么是spec文件?

简单来说其作用就是用来告诉Pyinstaller如何打包你的py文件。当你在终端使用命令自动打包py文件时,pyinstaller会首先自动创建一个spec文件。一般情况下,我们不需要自己编辑spec文件,除非:

① 需要打包资源文件;

② 为可执行文件添加run-time选项,或需要包含一些Pyinstaller不知道的run-time库。

若要为xxx.py生成spec文件,只需在终端执行如下命令即可:

pyi-makespec xxx.py

命令可选项同pyinstaller。

一个简单的spec文件实例:

Analysis:

用于定义python源文件,包括搜索路径和源文件名等。

① scripts:在Analysis中定义的源文件;

② pure:python模块;

③ binaries:动态库;

④ datas:数据文件,包括图片字体等;

⑤ zipfiles:zip格式的依赖文件,一般是egg格式的库文件。

PYZ:

将python文件压缩打包,包含程序运行需要的所有依赖,输入一般是Analysis.pure。

EXE:

打包生成exe文件,根据上面两项生成。EXE子任务包括Analysis的所有5个输出项以及程序运行所需的一些配置文件和动态库。

配置文件和动态库通过TOC格式来配置,格式为(name, path, typecode),例如:

 

typecode包括:

① EXTENSION:python扩展库;

② PYSOURCE:python脚本;

③ PYMODULE;

④ PYZ;

⑤ PKG;

⑥ BINARY:动态库;

⑥ DATA:数据文件;

⑦ OPTION。

COLLECT:

用来构建最终的生成目录,可以复制其他子任务生成的结果,并拷贝到指定目录,形成最终的打包结果,COLLECT也可以没有。

编辑完xxx.spec文件后,在终端执行:

pyinstaller xxx.spec

命令可选项包括:

–upx-dir,

–distpath,

–noconfirm,

–ascii。

即可生成所需的app(.exe)文件了。

 

python打包工具 --- pyinstaller的更多相关文章

  1. $python打包工具pyinstaller的用法

    pyinstaller是一个很好用的python打包工具,在Windows环境下可以将python脚本打包成一个exe可执行文件,并且脚本中所依赖的各种第三方库在打包时候都会被统一处理到一起,这样打包 ...

  2. python打包工具pyinstaller的使用

    安装PyInstaller pip install pyinstaller 安装完后,检查安装成功与否: pyinstaller --version 安装成功后,就可以使用下面的命令了: pyinst ...

  3. Python程序打包工具PyInstaller

    Python程序执行 py文件:直接提供源码,需要使用者自行安装Python并且安装依赖的各种库 pyc文件:pyc文件是Python解释器可以识别的二进制码,是跨平台的,需要使用者安装相应版本的Py ...

  4. Python打包工具setuptools的使用

    将我们写的Python程序发布成包后,可以使其能够安装使用. 在项目上测试的时候,某些情况下,可以将Python打包,然后上传到测试服务器,安装测试. setuptools是常用的打包工具. 一个简单 ...

  5. 如何使用python程序打包工具pyinstaller

    **通过**```pythonpyinstaller -F demo.py```**即可把demo.py打包成可独立运行的demo.exe** **pyinstaller在cmd使用格式:***pyi ...

  6. python打包exe pyinstaller 简单使用

    源由 最近公司让做了一个小工具,使用python写的,写完之后要求能放在其它电脑上运行,于是就开始寻找方案; 按网上的说法 py2exe已经很久没更新了,资料也不多: 于是就采用pyinstaller ...

  7. Python打包工具

    打包Python应用,使用工具: 1.Linux和Windows下,使用pyinstaller pyinstaller -F -w XXX.py 在当前文件夹下生成两个文件夹:build .dist ...

  8. python打包工具distutils、setuptools分析

    在上一篇博文中总结了python中导入包,安装包一条完整的线路.其中有一个有意思的知识点,安装包的方式有很多种,模块和包管理中打包,发布,安装也是值得研究的内容. python中安装包的方式有很多种: ...

  9. Python打包方法——Pyinstaller (转)

      Python版本:Python3.5.2 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后 ...

随机推荐

  1. Android RxJava使用介绍(四) RxJava的操作符

    本篇文章继续介绍下面类型的操作符 Combining Observables(Observable的组合操作符) Error Handling Operators(Observable的错误处理操作符 ...

  2. java统计中英文字数 Java问题通用解决代码

    http://yangchao20020.blog.163.com/blog/static/483822472011111635424751/   这个不适用于新浪微博字数的统计,结果有差别,若需要可 ...

  3. Android下Sqlite的使用(9.7)

    1 http://blog.csdn.net/liuhe688/article/details/6715983 2 http://www.eoeandroid.com/thread-170715-1- ...

  4. Cygwin 版本的 Curl 安装,提取,使用笔记

    Cygwin 版本的 Curl 安装,提取,使用笔记 Cygwin 版本的 Curl 使其恢复 HTTPS 请求功能Cygwin 版本的 Curl 依赖的 DLL 清单提取 Cygwin 版本的 Cu ...

  5. lua学习笔记(十三)

    math库     定义在math中     所有三角函数都使用弧度     指数和对数函数     取整函数     伪随机数math.random         调用时没有参数返回0~1之间的随 ...

  6. iOS Masonry 抗压缩 抗拉伸

    约束优先级: 在Autolayout中每个约束都有一个优先级, 优先级的范围是1 ~ 1000.创建一个约束,默认的优先级是最高的1000 Content Hugging Priority: 该优先级 ...

  7. ifconfig 命令

    许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...

  8. 交易应用及网站驱动不兼容Windows 10的解决方案

        微软公司于2015年7月29日正式发布了Windows 10操作系统.全球范围内已有数以千万计的用户踊跃地升级到了Windows 10,在新用户享受Windows 10所带来的全新使用体验的同 ...

  9. 【Selenium + Python】自动化测试之发送邮件正文以及附件同时发送

    废话不多说,直接上代码: import unittest import time import os import smtplib from HTMLTestRunner import HTMLTes ...

  10. shiro集成encache

    针对多频次或者几乎不变的大数量的数据,我们可以通过缓存来实现,具体的比如说权限认证,这个,每次操作都需要权限认证,所以,这里添加encache注解.具体的认证过程是: 1,用户第一次访问用户权限信息, ...