Python打包EXE神器 pyinstaller

最近由于项目需要,以前的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脚本再调用待发布脚本

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

    Python | 用Pyinstaller打包发布exe应用
  2. 2

    -w指令

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

    Python | 用Pyinstaller打包发布exe应用
    Python | 用Pyinstaller打包发布exe应用
  3. 3

    -F指令

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

    Python | 用Pyinstaller打包发布exe应用
  4. 4

    -p指令

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

     

    原网址:

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

转载于:https://www.cnblogs.com/suibipxh/p/py_exe.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20种PLC元件编号和Modbus编号地址对应表

1、三菱: X元件支持Modbus之02功能码; Y元件支持Modbus之01、05、15功能码; D元件支持Modbus之03、06、16功能码。 2、西门子: I元件支持Modbus之02功能码; Q元件支持Modbus之01、05、15功能码; V元件…

暑期学习

由于最后大作业的呈现情况与短学期所完成的还相差甚远&#xff0c;所以在暑期的时候开始进一步的细化。 在这个过程之中产生了如下的问题&#xff1a; 已解决的有&#xff1a; 1.用a标签在同一页面实现跳转。 要点&#xff1a;标记<a href"../home#pre">的时候…

五、RabbitMQ的消息属性(读书笔记)

2019独角兽企业重金招聘Python工程师标准>>> 简介 当使用RabbitMQ发布消息时&#xff0c;消息又AMQP规范中的三个低层帧类型组成&#xff1a; Basic.publish方法帧&#xff1b;内容头帧&#xff1b;消息体帧&#xff1b;这三种帧类型按顺序一起工作&#xff0c;以便…

异步和单线程

转载于:https://www.cnblogs.com/sunmarvell/p/8674748.html

C#:把dll封入exe中方法

在这个事件中,可以重新为加载失败的程序集手动加载 如果你将dll作为资源文件打包的你的应用程序中(或者类库中) 就可以在硬盘加载失败的时候 从资源文件中加载对应的dll 就像这样: class Program {static Program(){ //这个绑定事件必须要在引用到TestLibrary1这个程序…

C#结构类型图

转载于:https://www.cnblogs.com/kangao/p/8674838.html

使用gradle多渠道打包

以友盟的多渠道打包为例&#xff0c;如果我们须要打包出例如以下渠道&#xff1a;UMENG, WANDOUJIA, YINGYONGBAO。 第一种方法。是须要创建文件的。我们在写完我们的代码之后&#xff0c;在app/src以下。分别创建和main同级目录的目录umeng, wandoujia, yingyongbao,这三个目录…

四大步骤,彻底关闭Win10自动更新

尽管Win11已经发布了一段时间&#xff0c;但目前互联网上大部分电脑用户所使用的的操作系统仍是Win10&#xff0c;对于Win10&#xff0c;笔者相信大部分人应该都不陌生&#xff0c;作为目前市面上占比最高的电脑系统&#xff0c;Win10的许多功能和操作逻辑都十分优秀&#xff0…

虚拟机windows7安装启动MYSQL5.7

一.环境 环境&#xff1a;虚拟机VMVare 系统&#xff1a;windows7旗舰版 MYSQL版本&#xff1a;mysql5.7.25 二.具体步骤 1.首先下载安装mysql5.7.25&#xff0c;这里用的是安装版的mysql&#xff0c;网上大多数都是推荐去官网下载&#xff0c;这里推荐的是清华大学开源镜像站…

故障转移架构的本质:数据中心的基础设施过剩

数据中心构成了全球互联基础设施的核心&#xff0c;我们称之为“云”。从根本上讲&#xff0c;云计算指的是基础设施从桌面计算&#xff08;文件和应用程序存储在计算机的本地硬盘上&#xff09;到在线计算&#xff08;文件和应用程序存储在可通过互联网远程访问的数据中心中&a…

常用模块之hashlib,configparser,logging模块

常用模块二 hashlib模块 hashlib提供了常见的摘要算法&#xff0c;如md5和sha1等等。 那么什么是摘要算法呢?摘要算法又称为哈希算法、散列算法。它通过一个函数&#xff0c;把任意长度的数据转换为一个长度固定的数据串&#xff08;通常用16进制的字符串表示&#xff09;。 注…

浙江嘉兴徒步游

最近参加了一个徒步团&#xff0c;趁着周末时光&#xff0c;来了一场徒步旅游&#xff0c;不一样的体验图片发自简书App一开始进山探秘外蒲岛的路程&#xff0c;荒草丛生图片发自简书App树木郁郁葱葱&#xff0c;蓝天白云&#xff0c;一切都很没好图片发自简书App漫山遍野都开满…

ASP.NET Web API 2 过滤器

前言 我们知道 ASP.NET Web API 过滤器&#xff0c;也是属于消息处理机制中的一部分。正因如此&#xff0c;我们经常使用它来完成对请求的授权验证、参数验证&#xff0c;以及请求的 Log 记录&#xff0c;程序异常捕获等。 1. 常用的四大过滤器 ASP.NET Web API 2 中的所有…

为选择合适的ERP供应商,是否该发布需求建议书(RFP)?

全球有成百上千家企业资源规划 (ERP) 解决方案供应商。在开展挑选 ERP 供应商的项目时&#xff0c;不可能与所有这些供应商都进行接触。不断缩小这一领域供应商的范围&#xff0c;直到最终敲定最适合的入围名单&#xff08;通常被称为“最终候选人名单”&#xff09;是项目成功…

java stream 原理

java stream 原理 需求 从"Apple" "Bug" "ABC" "Dog"中选出以A开头的名字&#xff0c;然后从中选出最长的一个&#xff0c;并输出其长度 1. 最直白的实现 缺点 迭代次数过多频繁产生中间结果&#xff0c;性能无法接受2. 平常写法 int …

Java常量池理解与总结

2019独角兽企业重金招聘Python工程师标准>>> 一.相关概念 什么是常量用final修饰的成员变量表示常量&#xff0c;值一旦给定就无法改变&#xff01;final修饰的变量有三种&#xff1a;静态变量、实例变量和局部变量&#xff0c;分别表示三种类型的常量。Class文件中…

转载:https://blog.csdn.net/dcrmg/article/details/52939318

张正友相机标定Opencv实现以及标定流程&&标定结果评价&&图像矫正流程解析&#xff08;附标定程序和棋盘图&#xff09;使用Opencv实现张正友法相机标定之前&#xff0c;有几个问题事先要确认一下&#xff0c;那就是相机为什么需要标定&#xff0c;标定需要的输…

Redis学习笔记--Redis数据过期策略详解==转

本文对Redis的过期机制简单的讲解一下  讲解之前我们先抛出一个问题&#xff0c;我们知道很多时候服务器经常会用到redis作为缓存&#xff0c;有很多数据都是临时缓存一下&#xff0c;可能用过之后很久都不会再用到了&#xff08;比如暂存session&#xff0c;又或者只存放日行…

会员连锁配置以及金额走向

PS&#xff1a;所有电子支付方式的资金走向都是同样的&#xff0c;配置的是什么支付方式就走什么支付方式;下面以支付宝为例说明 一、连锁非总机模式 资金走向&#xff1a; 支付宝&#xff1a;收到的钱在主账号配置的支付宝&#xff0c;会员卡的金额在主账号 微信&#xff1a;收…

C# 多线程及同步简介示例

60年代&#xff0c;在OS中能拥有资源和独立运行的基本单位是进程&#xff0c;然而随着计算机技术的发展&#xff0c;进程出现了很多弊端&#xff0c;一是由于进程是资源拥有者&#xff0c;创建、撤消与切换存在较大的时空开销&#xff0c;因此需要引入轻型进程&#xff1b;二是…