最近由于项目需要,以前的python文件需要编辑为EXE供前端客户使用。

由于最早接触的是distutils,所以一开始准备使用distutils和py2exe搭配来进行python的exe化,也就是传统的使用setup.py的方式来进行exe安装。但是结果都不是很好,不是很如人意。并且py2exe所使用的一个python 包互相排斥,只要安装了这个包,就无法进行exe化。甚至代码里面都不需要导入,就会报错。

因此,只能无奈放弃了py2exe工具。转而使用pyinstaller。使用感受真的是甩了py2exe几条街。首先是安装,

pip install pyinstaller

注:pyinstaller最新版本为3.2.1只支持2.7-3.5。但是有最新的开发版在如下链接的develop分支中是支持python3.6的。由于本人使用的是3.6版本。因此也是找了好久。

https://github.com/pyinstaller/pyinstaller

pyinstaller安装好以后,只需要使用pyinstaller 安装包的名字如:

pyinstaller hello.py

便可以将hello文件打包。打包文件在pyinstaller的目录下。可以通过 --distpath=xxxx 参数来修改保存的位置。

还有一些其他的参数本文也是直接找了网上的资料,如下:

发布命令介绍

 
  1. 1

    有两种方法调用发布流程:

    ①直接使用Pyinstaller应用程序调用待发布脚本

    ②用Python调用pyinstaller-script脚本再调用待发布脚本

    两种方法用起来没什么差别,方法①少个步骤,就用方法①了咯

  2. 2

    -w指令

    直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽

  3. 3

    -F指令

    注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹

  4. 4

    -p指令

    这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加

    原网址:

    https://jingyan.baidu.com/article/a378c960b47034b3282830bb.html

Python打包EXE神器 pyinstaller的更多相关文章

  1. python打包exe之pyinstaller用法

    pyinstaller可以将python写好的脚本打包成exe文件,方便windows用户在没有python环境下运行.这个程序完全跨平台,包括Windows.Linux.Mac OS X等多个操作系 ...

  2. python打包exe pyinstaller 简单使用

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

  3. Python文件打包exe教程——Pyinstaller(亲测有效)

    今天将要解决一个问题,如何打包Pyhon文件 众所周知,Python文件的后缀名为“.py” 所以执行Python文件的要求之一便是具有python环境. 偶尔特殊情况,或者运行一些比较简单的工具,但 ...

  4. python 打包exe

    下载及安装:pip install pyinstaller 执行命令: pyinstaller -F xxx.py pyinstaller --onefile meng.py 可以运行的exe文件位于 ...

  5. 解决Python打包exe控制台无法粘贴问题

    使用pyinstaller打包生成可执行exe文件后,发现启用input()接受键盘输入时窗口无法粘贴也无法右键,找了好久终于找到问题所在: 一是通过右键单击控制台主题边框在弹出的菜单中选择编辑.粘贴 ...

  6. python 打包exe注意的问题

    教程百度.谷歌都有,本文讲讲安装时出错的问题. 教程:http://keliang.blog.51cto.com/3359430/661884 1.cxfreeze 找不到路径时: 需要修改Scrip ...

  7. python打包exe文件-ImportError: No module named 'queue'

    我之前遇到的一个错误就是 File "site-packages\urllib3\packages\six.py", line 92, in __get__ File " ...

  8. python打包exe

    https://www.imooc.com/article/246868 虽然在3.7下报错了,但是先码

  9. python打包exe文件

    https://blog.csdn.net/lqzdreamer/article/details/77917493 测试下载pyinstall,在安装运行就可以了

随机推荐

  1. call, apply,bind 方法解析

    call(), apply(),bind() 三者皆为Function的方法 call(),apply()的作用是调用方法,并改变函数运行时的context(作用上下文) bind() 的作用是引用方 ...

  2. 【亲测】自动构建多个指定的class并发执行:Jenkins+Maven+Testng框架

    要解决的问题:jenkins在自动构建maven项目时如何并发执行多个指定的class类 预置条件:testngXXX.xml文件已指定了多个class类 解决步骤:1.在maven项目中新建指定te ...

  3. 用 volume container 共享数据 - 每天5分钟玩转 Docker 容器技术(42)

    volume container 是专门为其他容器提供 volume 的容器.它提供的卷可以是 bind mount,也可以是 docker managed volume.下面我们创建一个 volum ...

  4. hihocoder 1050 树中的最长路(动态规划,dfs搜索)

    hihocoder 1050 树中的最长路(动态规划,dfs搜索) Description 上回说到,小Ho得到了一棵二叉树玩具,这个玩具是由小球和木棍连接起来的,而在拆拼它的过程中,小Ho发现他不仅 ...

  5. 51nod_1264:线段相交(计算几何)

    题目链接 关于判断线段相交,具体算法见 点击打开链接 ,先进行快速排斥试验,若不能判断出两个线段不相交,再进行跨立试验. //吐槽1,long long 会溢出... //吐槽2,只进行跨立试验的虽然 ...

  6. UWP中使用Composition API实现吸顶(1)

    前几天需要在UWP中实现吸顶,就在网上找了一些文章: 吸顶大法 -- UWP中的工具栏吸顶的实现方式之一 在UWP中页面滑动导航栏置顶 发现前人的实现方式大多是控制ListViewBase的Heade ...

  7. 配置PLSQL,提升工作效率

    界面模板的配置: 方便用户快速点击需要的功能.如打开SQL Window 1.打开customize,用户自定义Toolbars对话框. 2.在Commands命令标签页,选中要添加的命令,拖动到工具 ...

  8. HTML随笔2

    1. 快捷键: * div*8 + tab键 - 可快捷出现八个div标签. * 标签名."名称" + tab键 - 可快速出现类名为"名称"的该标签,如果不加 ...

  9. [HAOI 2005][BZOJ 1054] 移动玩具

    先贴一波题面 1054: [HAOI2008]移动玩具 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2288  Solved: 1270 Descr ...

  10. AJAX基础_AJAX获取PHP数据

    前言 本篇AJAX基础教程,只讲干货,拒绝废话. 全文通过两个实例来讲解AJAX的基本用法,第1个实例是使用AJAX技术从服务器获取纯文本(HTML)数据, 第2个实例是获取从服务器PHP文件的数据. ...