首页 / 知识
python可以编译成exe程序吗
2023-11-12 13:22:00
PyInstaller的原理简介
PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖库。在Linux操作系统下,它主要用的binutil工具包里面的ldd和objdump命令。
PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。
可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了。
需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。
pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行
最新版是pyinstaller3.1.1。支持python2.7和python3.3+。
可运行在Windows,Mac和Linux操作系统下。
但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。
pyinstaller在windows下的安装
使用命令pipinstallpyinstaller即可
在windows下,pyinstaller需要PyWin32的支持。当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32。
打包
打包的app里并不包含任何源码,但将脚本的.pyc文件打包了。
基本语法:
pyinstalleroptionsmyscript.py
常用的可选参数如下:
--onefile将结果打包成一个可执行文件
--onedir将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)
--paths=DIR设置导入路径
--distpath=DIR设置将打包的结果文件放置的路径
--specpath=DIR设置将spec文件放置的路径
--windowed使用windows子系统执行,不会打开命令行(只对windows有效)
--nowindowed使用控制台子系统执行(默认)(只对windows有效)
--icon=将file.ico添加为可执行文件的资源(只对windows有效
以上内容为大家介绍了python可以编译成exe程序吗,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们
最新内容
相关内容
python怎么使用文件夹下的脚本?
python怎么使用文件夹下的脚本?,工作,培训,文件夹,脚本,文件,所在,方法,示例,路径,以上,python中使用文件夹下脚本的方法:将当前的工作目录(即python中获取路径的三种方法
python中获取路径的三种方法,工作,代码,情况,培训,下来,路径,文件,也就是,桌面,目录,python中获取路径总结下来分为三种情况:1、获取工作目录python如何调用另一个文件夹中的内
python如何调用另一个文件夹中的内容?,系统,培训,文件,模块,内容,路径,函数,所在,前缀,语句,python中调用另外一个文件夹中的内容:1、同一文件python中怎么读取doxc文件?
python中怎么读取doxc文件?,培训,文档,文件,路径,命令,以上,更多,内容,python中可以使用python-docx库读取doxc文件,我们可以使用pipinstallpython如何删除某个目录文件夹?
python如何删除某个目录文件夹?,名字,代码,培训,文件夹,方法,文件,目录,语法,路径,格式,python删除某个目录文件夹及文件的方法:#!/usr/bin/enpython读取中文路径失败怎么解决?
python读取中文路径失败怎么解决?,培训,路径,中文,裤子,下面,以上,全部,格式,方法,更多,编码问题可能导致python读取中文路径时出错,使python如何在python代码中指定保存的文件
如何在python代码中指定保存的文件格式,代码,培训,文件格式,格式,二进制文件,文件,后缀,以上,方法,更多,python指定保存文件格式的方法:1、保Python如何复制文件中的内容
Python如何复制文件中的内容,盘中,数据,培训,文件,内容,方法,文件夹,路径,源文件,文件名,python复制文件中内容的方法:1、使用shutil.copyfilepython脚本中有乱码怎么解决
python脚本中有乱码怎么解决,代码,培训,脚本,乱码,中文,下面,英语系,源文件,语句,源码,有时候,在Python脚本里有中文的时候,会报下面的错误:Non-python如何获取打开文件的行数?
python如何获取打开文件的行数?,数据,培训,文件,方法,列表,下标,字符串,序列,函数,长度,python获取打开文件行数的方法:1、文件较小时可以使用Python中怎么新建文件夹
Python中怎么新建文件夹,代码,工作,培训,文件夹,路径,函数,操作系统,示例,文件名,以上,python中如何新建文件夹的方法:可以使用os包的mkdir函Python文件如何转换为字符串
Python文件如何转换为字符串,数据,主体,名字,培训,文件,字符串,末尾,方法,对象,语句,python文件如何转换为字符串的方法:一、最方便的方法是一