最近由于项目需要,以前的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. Win环境下Oracle小数据量数据库的物理备份

    Win环境下Oracle小数据量数据库的物理备份 环境:Windows + Oracle 单实例 数据量:小于20G 重点:需要规划好备份的路径,建议备份文件和数据库文件分别存在不同的存储上. 1.开 ...

  2. Linux 密钥验证

    服务端配置puttygen 生成公钥,保存私钥复制公钥,写入服务端mkdir /root/.sshvi /root/.ssh/authorized_keys 生成文件,将公钥写入到文件中chmod 7 ...

  3. getResources提取资源文件

    String pxsize = context.getResources().getString(R.string.hello); 资源文件格式: <?xml version="1.0 ...

  4. for(int a:i)在java 编程中的使用

    这种有冒号的for循环叫做foreach循环,foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便. foreach语句是for语句的特殊简化版本 ...

  5. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(三)技能标签(Ability Tags)

    本教程参考了https://wiki.unrealengine.com/GameplayAbilities_and_You,如果没有学习前两篇教程,请前往学习. GameplayAbilities插件 ...

  6. Javsssist用InsertAt()方法对语句插桩

    基于上一篇的方法插桩,这一篇则是进一步的对每行的语句进行插桩. 对于存在分支的方法(例如if(){}else{}),对方法插桩的方法是不能够全部涉及到的.所以要对程序的每条语句进行插桩. 插入什么语句 ...

  7. Python爬虫从入门到放弃(十二)之 Scrapy框架的架构和原理

    这一篇文章主要是为了对scrapy框架的工作流程以及各个组件功能的介绍 Scrapy目前已经可以很好的在python3上运行Scrapy使用了Twisted作为框架,Twisted有些特殊的地方是它是 ...

  8. JAVA实用案例之水印开发

    写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...

  9. Win Linux 双系统安装指南

    双系统安装指南 环境说明 硬件:一块240G NVMe,一块240G SSD,一块2T的HDD. 系统:Linux Mint 18.2,Windows 10 Enterprise Version 17 ...

  10. solr6.3 + Hbase Indexer使用MR创建索引,错误Bad return type

    使用solr6.3 + Hbase Indexer ,通过Hbase-indexer从Hbase建立索引到solr中,进行全文搜索. 两种实现方式:① 开启hbase-indexer进行实时同步新数据 ...