python3.6程序_python3.6如何生成exe程序

6b82a1843edd0cbc732a5c2a31412784.png

PyInstaller的原理简介

PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指

望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的

库。在Linux操作系统下,它主要用的binutil工具包里面的ldd和objdump命令。

PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析

器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。

推荐:Python教程

可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他

包,或某个版本的Python,就可以直接运行了。

需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运

行,就必须针对该平台进行打包。

pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行

最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。

可运行在Windows,Mac和Linux操作系统下。

但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。

pyinstaller在windows下的安装

使用命令pip install pyinstaller即可

在windows下,pyinstaller需要PyWin32的支持。当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32。

打包

打包的app里并不包含任何源码,但将脚本的.pyc文件打包了。

基本语法:

pyinstaller options myscript.py

常用的可选参数如下:

--onefile 将结果打包成一个可执行文件

--onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)

--paths=DIR 设置导入路径

--distpath=DIR 设置将打包的结果文件放置的路径

--specpath=DIR 设置将spec文件放置的路径

--windowed 使用windows子系统执行,不会打开命令行(只对windows有效)

--nowindowed 使用控制台子系统执行(默认)(只对windows有效)

--icon= 将file.ico添加为可执行文件的资源(只对windows有效)

更多技术请关注云海天Python教程。

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

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

相关文章

java切片_ java中一个极其强悍的新特性Stream详解(非常实用)

java8中有两个非常有名的改进,一个是Lambda表达式,一个是Stream。如果我们了解过函数式编程的话,都知道Stream真正把函数式编程的风格引入到了java中。这篇文章由简入繁逐步介绍Stream。一、Stream是什么从名字来看,Stream就是一个…

java获取网络图片_有了这50套Java毕设项目(源码 案例),offer拿到手软,无偿分享...

简介:又到了开学季,不少人都很是烦恼,手把手教你做Java毕设项目,有教程视频源码100套随意选择,试试手!!列举其中2个系统大纲在线考试系统1.综述网络考试系统的项目背景及国内外发展现状&#xf…

python字典的建立和输出_字典的创建和使用

直接创建d {age: 23, name: Daniel, sex: 1}输出结果:{age: 23, name: Daniel, sex: 1}dict函数# 通过序列对建立字典vaulues [(name, Daniel), (age, 23), (sex, 1)]print dict(values)# 通过关键字建立字典print dict(nameDaniel, age23, sex1)# 如果 dict 不传…

python字符串出栈方法_1.Python实现字符串反转的几种方法

1.Python实现字符串反转的几种方法题目: 在Python环境下用尽可能多的方法反转字符串,例如将s "abcdef"反转成 "fedcba"第一种:使用字符串切片result s[::-1]第二种:使用列表的reverse方法l list(s)l.reverse()result …

linux将日期和日历信息追加到文件中_Linux常用指令

常用指令 1、帮助指令 man [指令或者配置文件] help 指令 2、文件目录类指令 1、pwd 功能:显示当前工作目录的绝对路径 2、ls [选项] [目录或者文件] 功能:列出文件名和目录使用:ls -l 以列表的形式显示信息ls -a …

python播放音乐同步歌词_使用Python下载歌词并嵌入歌曲文件中的实现代码

使用python扫描本地音乐并下载歌词这次这个真的是干货哦,昨晚弄了半晚上,,,,从8点吃完饭就开始写,一直到了快12点才弄好,,,新手,伤不起呀。。。。先简单的说下…

ajax mysql点赞_php+mysql结合Ajax实现点赞功能完整实例

phpmysql结合Ajax实现点赞功能完整实例131415161718192021222324252627282930313233343536//判断是否已经存在了cookiefunction checkcookie(gindex){var thiscookie goodplus gindex;var mapcookie getCookie(thiscookie)if (mapcookie!null && mapcookie!"&q…

一个搜索框多个按钮_网站搜索栏设计指南:要不要?怎么设计?

在网站的设计过程中,搜索栏是一个很容易被忽略的部分,但用户却依赖它来寻找特定的信息。由于搜索栏是网站中最常用的元素之一,所以搜索栏的设计对用户体验有着重要的影响。网站是否需要搜索栏?搜索栏使用背后的思维和心理是帮助用…

mysql的使用优化问题吗_如何对 mysql 进行优化的问题

3641 天前mingszu-------------------------------------------------------------------------------------------------------------------------------------------------------------------| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Ca…

通过 xlsx 解析上传excel的数据

一、前言 在前端开发中,特别是在后台管理系统中,导入数据(上传excel)到后端是是否常见的功能;而一般的实现方式都是通过接口将excel上传到后端,再有后端进行数据解析并做后续操作。 今天,来记录…

状态机设计的一般步骤_浅谈状态机

来源:公众号【ZYNQ】ID :FreeZynq整理 :李肖遥本文目录前言状态机简介状态机分类Mealy 型状态机Moore 型状态机状态机描述一段式状态机二段式状态机三段式状态机状态机优缺点总结扩展-四段式状态机01. 前言状态机是FPGA设计中一种非常重要、…

java中default_Java 中关于default 访问权限的讨论

Java中关于成员变量访问权限问题一般书中会给出如下表格:简单地描述一下表中的内容:用private 修饰的成员变量只能在类内部访问;用default修饰的成员变量可以再内部访问,也可以被同个包(同一目录)中的类访问;default修…

python手机解释器_python3

Python解释器Linux/Unix的系统上,Python解释器通常被安装在 /usr/local/python3这样的有效路径(目录)里。我们可以将路径 /usr/local/python3/bin 添加到您的Linux/Unix操作系统的环境变量中(最好参照您python的安装路径进行添加),这样您就可以通过 shel…

increment java_Java中的increment()有什么作用?

publicclassThisTest{privateinti0;//第一个构造器:有一个int型形参ThisTest(inti){this.ii1;//此时this表示引用成员变量i,而非函数参数iSystem.out.println("Intconstructori—...public class ThisTest {private int i0;//第一个构造器&#xff…

python保存模块_Python使用Pickle模块进行数据保存和读取的讲解

pickle 是一个 python 中, 压缩/保存/提取 文件的模块,字典和列表都是能被保存的.但必须注意的是python2以ASCII形式保存,而在python3中pickle是使用转换二进制的数据压缩方法保存数据所以,在保存或者读取数据的时候,打开文件应该…

java 输出当月日历_java 实现打印当前月份的日历

实现当前日历的打印,当前日期用*来表示。关键得出这个月的第一天是星期几。基姆拉尔森计算公式W (d2*m3*(m1)/5yy/4-y/100y/400) mod 7在公式中d表示日期中的日数1,m表示月份数。y表示年数。注意1:在公式中有个与其它公式不同的地方&#xff…

pythonmessage用法_请问Mac下如何用python读取iMessage信息?

很早之前,学习Python web编程的时候,就涉及一个Python的urllib。可以用urllib.urlopen(“url”)。read()可以轻松读取页面上面的静态信息。但是,随着时代的发展,也来越多的网页中更多的使用javascript、jQuery、PHP等语言动态生成…

xmlhttprequest 跨域_跨域资源共享(CORS)安全性

跨域资源共享(CORS)安全性背景 提起浏览器的同源策略,大家都很熟悉。不同域的客户端脚本不能读写对方的资源。但是实践中有一些场景需要跨域的读写,所以出现了一些hack的方式来跨域。比如在同域内做一个代理,JSON-P等。但这些方式都存在缺陷&…

java 图片识别 tess4j_图像文字识别(四):java调用tess4j识别图像文字

转自:https://blog.csdn.net/a745233700/article/details/80203340javajava调用tess4j识别图像文字Tesseract-OCR支持中文识别,而且开源和提供全套的训练工具,是快速低成本开发的首选。前面记录过在java中调用tesseract-orc,该方法…

sql in转换为join_同一个SQL语句,为啥性能差异咋就这么大呢?(1分钟系列)

《数据库允许空值,往往是悲剧的开始》一文通过explain来分析SQL的执行计划,来分析null对索引命中情况的影响,有不少朋友留言,问explain结果中的type字段,ref,ALL等不一样的值究竟是什么含义。今天花1分钟简…