安装  

安装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. 【HTML5】交互元素menu&command元素

    1.交互元素<menu> 1.1源码 <!DOCTYPE html> <html> <head> <meta charset="utf- ...

  2. xml中处理特殊字符和转义字符

    XML 中的特殊字符 > 和 开始标记 > 例如: 5 ]] 如何获得这些HTML内容呢? XmlDocument doc = new XmlDocument(); doc.Load(&q ...

  3. java 页面错误转发提示页面 errorPage转跳报HTTP500内部服务器错误

    errorPage和isErrorPage本来是很简单的功能,但是我却没弄出来,还百度了半天,结果发现是IE的设置问题.将下图中的“Show friendly HTTP error messages( ...

  4. .NET CORE 2.0小白笔记(二):VS插件 ReSharper Ultimate 2017 安装破解

    采用Use License Server方式激活,如果有多台要激活的可以用一个当服务器 下载网盘:链接: https://pan.baidu.com/s/1nvacvKP 密码: ipxc 版本:Je ...

  5. Machine Learning——Unsupervised Learning(机器学习之非监督学习)

    前面,我们提到了监督学习,在机器学习中,与之对应的是非监督学习.无监督学习的问题是,在未加标签的数据中,试图找到隐藏的结构.因为提供给学习者的实例是未标记的,因此没有错误或报酬信号来评估潜在的解决方案 ...

  6. docker教程之从一头雾水到不一头雾水(1)

    一.安装docker 1.搜索docker [root@node3 ~]# yum search docker Loaded plugins: fastestmirror, langpacks Loa ...

  7. 深入理解Tomcat系列之五:Context容器和Wrapper容器

    前言 Context容器是一个Web项目的代表,主要管理Servlet实例,在Tomcat中Servlet实例是以Wrapper出现的.如今问题是怎样才干通过Context容器找到详细的Servlet ...

  8. 《HTML 5网页开发实例具体解释》样章、内容简单介绍、前言

    http://spu.jd.com/1167757597.html http://product.dangdang.com/23484942.html 样章 http://download.csdn. ...

  9. 使用mescroll实现上拉加载与下拉刷新

    现在上拉加载与下拉刷新几乎已经是移动端必备功能之一了,自己实现一个太麻烦,但是好用的插件又非常少.之前看到网上很多人都在用iScroll,于是也尝试用它做了几个DEMO,但或多或少都有一些问题,比如这 ...

  10. 快速搭建一个成熟,强壮的App框架【转载】

    App框架搭建 招聘信息: iOS 研发工程师 iOS开发工程师 iOS开发实习工程师 新浪微博-Android开发工程师&iOS开发工程师 美术设计师(2D) UI设计师 cocos2dx手 ...