安装  

安装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. 【VBA】查看窗口当前状态

    Excle的窗口分为:最大化,最小化,一般 使用VB代码如何查看窗口的状态呢?代码如下所示: Sub 获取窗口状态() Dim State As String State = Application. ...

  2. PIVOT 和 UPIVOT 的使用(行转列)

    PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合.UNPIVOT 与 PIVOT 执行相反的操作,将表值表达式的列转换为列 ...

  3. Javascript 客户端实时显示服务器时间

    <!doctype html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...

  4. ssh隧道远程连接mysql

    有时候比如一些云主机,没有开放3306端口,这里可以用ssh隧道来连接数据库,更加安全 注意点: 1.本地ssh可以登录远程服务器,(密码或者秘钥) 2.远程数据库需要赋权限给隧道端的ip 命令: s ...

  5. $on、$emit和$broadcast的使用

    $emit只能向parent controller传递event与data( $emit(name, args) ) $broadcast只能向child controller传递event与data ...

  6. tensorflow-gpu 1.13 提示找不到 libcublas.so.10.0 的问题

    tensorflow-gpu 使用 1.13.1,cuda-10-0已安装好,但启动时依然报错 ImportError: libcublas.so.10.0: cannot open shared o ...

  7. HttpClient远程调用接口

    详细参考这个博文:http://www.cnblogs.com/itliucheng/p/5065619.html 一.get请求: //关键代码就这几行 String urlNameString = ...

  8. MySQL四:表操作

    阅读目录 表介绍 一 创建表 二 查看表结构 三 数据类型 四 表完整性约束 五 修改表ALTER TABLE 六 复制表 七 删除表 八 完整性约束 九 数据类型 表介绍 表相当于文件,表中的一条记 ...

  9. 为什么jdbc中的resultset只能取一次去第二次就报错了

    引用 6 楼  的回复: 好吧各位,应该写getInt(1)但是我要问的是为什么第二次用会出错 啊,好古老的一个问题... 第二次出错的原因,是因为你创建Statement的时候,没有指定结果集(游标 ...

  10. Java 调用R 方法

    JAVA 调用 R 语言 1       简介 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方法,另一方面, ...