Py学习  »  Python

2分钟将Python转换为exe

IT大咖说 • 3 年前 • 429 次点击  

“如何将Python脚本转换为.exe文件?” 每个python开发人员在想与外部共享他们开发的python应用程序时都会问这个问题。在此,我们将详细介绍如何使用python模块(即pyinstaller)将python程序转换为可执行文件。

为什么不能共享.Py文件?

使用python开发时,我们会安装许多软件包并在程序中使用它们,这些已安装的软件包存在于我们的开发环境中。

当我们将python文件共享给另一台计算机时,要使该python程序在该计算机上运行,应提供相同的软件包。

安装所有软件包的一种简单方法是使用requirements.txt文件,该文件包含该python程序运行所需的所有已安装软件包的列表。

填写requirements.txt文件

此命令应在python开发人员的开发环境中执行。

填写requirements.txt文件

从requirements.txt文件安装软件包

该命令应在要安装python软件包的计算机上执行,以运行共享的.py文件。

从requirements.txt文件安装软件包

但是,如果开发人员不想共享requirenments.txt文件,而仍然希望在另一台计算机上运行该开发的应用程序,该怎么办?

当我们将python脚本文件(.py)转换为可执行文件(.exe)时,可以解决此问题。

获得的可执行文件可以在Windows平台上运行,并且包含运行python程序所需的所有软件包。

什么是Pyinstaller?

Pyinstaller是一个python软件包,它将Python应用程序及其所有模块/依赖项捆绑到一个软件包中。

这使用户更轻松地完成任务,因为用户可以在不安装Python解释器或计算机上任何模块的情况下运行捆绑的应用程序。

Pyinstaller还支持许多python库,例如NumPy、PyQt、Django、wxPython等。

使用pip安装Pyinstaller

为了将python文件转换为.exe文件,我们将使用python软件包,即pyinstaller。

使用pip安装Pyinstaller

这将在机器上安装pyinstaller,我们可以使用它将python程序转换为.exe文件。

将python转换为exe文件

命令行格式

打开终端,更改“ .py ”文件所在的目录,然后执行以下命令。

运行pyinstaller

让我们看看上面的命令执行什么:

  • yourprogram.spec 与脚本写入同一目录。

  • 创建一个文件夹建立在同一个文件夹,如果它不存在的脚本。

  • 将日志文件和工作文件写入build文件夹。

  • 如果脚本不存在,则在与脚本相同的文件夹中创建文件夹dist 

  • 将yourprogram可执行文件文件夹写入dist文件夹。

  • 所述dist文件夹中包含的应用程序捆绑和一个可执行文件(.exe文件捆绑的应用程序文件夹中)的文件。

    当您运行.exe文件时,您将获得与从python解释器运行时相同的输出。

    这里的一个问题是,仍然不能单独共享.exe文件,因为要运行该.exe文件,需要有很多依赖文件。

    Pyinstaller为我们提供了各种标志,可帮助我们修改捆绑的应用程序。

    Pyinstaller OneFile标志将Python文件转换为.exe

    OneFile

    该命令将在dist文件夹中创建一个没有任何依赖关系的可执行文件,因为由于–onefile标志,所有依赖文件都捆绑在.exe文件中。

    如果您的python程序是GUI应用程序,则您会注意到首先打开了一个控制台窗口,几秒钟后GUI应用程序启动了,这对用户体验不利。

    这个问题可以通过 -w 选项使用来解决。

    onefile选项

    设置.exe的Pyinstaller图标

    默认情况下,Pyinstaller将为获得的可执行文件提供python外观,为了更改可执行文件的默认图标,您将必须设置-i / –icon标志。

    该-i / -icon标志取路径.ICO图标图像文件。

    设置.exe的Pyinstaller图标

    此命令将使用您的自定义图标创建一个独立的可执行文件。




来源:

https://www.toutiao.com/i6922088383070290443/

“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com



来都来了,走啥走,留个言呗~




 IT大咖说  |  关于版权 

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!



相关推荐


推荐文章



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/106862
 
429 次点击