PyInstaller的原理简介
PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指
望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的
库。在Linux *** 作系统下,它主要用的binutil工具包里面的ldd和objdump命令。
PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析
器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。
可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他
包,或某个版本的Python,就可以直接运行了。
需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运
行,就必须针对该平台进行打包。
pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行
最新版是pyinstaller 311。支持python27和python33+。
可运行在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 myscriptpy
常用的可选参数如下:
--onefile 将结果打包成一个可执行文件
--onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)
--paths=DIR 设置导入路径
--distpath=DIR 设置将打包的结果文件放置的路径
--specpath=DIR 设置将spec文件放置的路径
--windowed 使用windows子系统执行,不会打开命令行(只对windows有效)
--nowindowed 使用控制台子系统执行(默认)(只对windows有效)
--icon=<FILEICO> 将fileico添加为可执行文件的资源(只对windows有效
推荐学习《python教程》。
用py2exe,方法如下:
1
安装py2exe
2
将打包文件与被打包文件放在同一个文件夹下。。。
例如,你需要将testpy打包成exe,那么testpy就是被打包文件,那么打包文件呢,保存下边的文件为py文件
(例如setuppy):
#
setuppy
from
distutilscore
import
setup
import
py2exe
setup(console=["testpy"])
放在同一个目录的目的是因为在console
=
["testpy"]时,不用考虑路径问题,当然,你的是什么py文件,就把名字替换了。。。
然后运行,运行命令为:
python
setuppy
py2exe
如果你不会使用cmd运行python的命令,也不难,把运行命令粘贴在记事本中,然后修改后缀为bat,例如runbat,然后双击runbat就可以啦。。(前提是,你设置了环境变量)
运行后,会产生一个dist文件夹,在文件夹中,有一个与被打包文件同名的exe文件,那个就是可执行文件啦。。。
python提供pyinstaller库将代码打包成exe可执行文件,步骤如下:
1安装pyinstaller
安装的方式如同安装导入其他包一样,使用pip,执行命令:
pip3 install pyinstaller
自动下载并安装。
2打包并转换成exe
打开终端,进入到需要转换的python文件路径下,执行命令:
pyinstaller -F -w (-i icofile) filename
参数说明:
filename:Python文件名
-w :表示隐藏程序运行时的命令行窗口(不加-w会有黑色窗口)
-i icofile:可选参数(可不要),表示给程序加上图标,图标必须为ico格式。icofile表示图标所在路径,建议直接放在python同一路径下,这样子打包的时候直接写文件名就好。
3打包成功
命令执行成功后,会生成N个文件夹,所需要的exe文件就在dist文件夹里。
至此,在windows下将python文件转成exe就这样搞定了。
推荐课程:Python高级进阶视频教程
以上就是关于python可以编译成exe程序吗全部的内容,包括:python可以编译成exe程序吗、python 能做成EXE程序吗、python怎么转成exe文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)