首页 >常见问题 >Python文件如何打包成exe文件

Python文件如何打包成exe文件

青灯夜游
青灯夜游原创
2019-02-23 13:28:49198898浏览

在Python中可以使用py2exe、PyInstaller来将Python脚本文件打包成exe文件。下面本篇文章就来具体介绍一下,希望对大家有所帮助。

Python文件如何打包成exe文件

Python文件打包成exe文件的方法:

方法一、使用py2exe打包exe文件

py2exe是一种将Python脚本转换为Windows .exe应用程序的简单方法。它是一个基于Distutils的实用程序,允许我们在Windows计算机上运行用Python编写的应用程序,而无需用户安装Python。当需要将程序作为独立应用程序分发给最终用户时,这是一个很好的选择。

注:py2exe目前仅适用于Python 2.x。

1、下载、安装py2exe

下载地址:https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/

2、将文件打包成exe文件

现在,为了创建exe文件,我们需要在要执行的Python脚本所在的文件夹中创建一个名为setup.py的文件,编写以下代码:

# setup.py
from distutils.core import setup
import py2exe
setup(console=['myscript.py'])

在上面的代码中,我们将把myscript.py打包一个可执行文件(myscript.exe)。setup函数接收一个参数console=['myscript.py'],用来告诉py2exe我们有一个名为myscript.py的控制台应用程序。

然后,为了创建exe文件,只需从Windows命令提示符(cmd)运行:

python setup.py py2exe。

将看到大量输出,然后将创建两个文件夹:dist和build。

Python文件如何打包成exe文件

py2exe使用build文件夹作为临时文件夹来创建可执行(exe)文件所需的文件。

dist文件夹存储可执行文件和运行该可执行文件所需的所有文件。删除生成文件夹是安全的。

注意:假定在path环境变量中有python,运行python setup.py py2exe。如果不是这样,只需使用c:python27python.exe setup.py py2exe。

现在测试可执行(exe)文件是否工作:

cd dist
myscript.exe

方法二:使用PyInstaller生成exe文件

PyInstaller可以将Python程序打包成Windows(当然也包括Linux, Mac OS X, Solaris and AIX)下可执行的EXE文件。

1、下载安装PyInstaller

下载地址:http://www.pyinstaller.org/

注意:在Windows上安装PyInstaller之前,需要安装PyWin32(下载地址为-http://sourceforge.net/projects/pywin32/files/pywin32/Build 217/)。

然后安装PyInstaller,从Windows命令提示符(cmd)运行:

pip install pyinstaller

Python文件如何打包成exe文件

Python文件如何打包成exe文件

出现Successfully installed pyinstaller-3.1.1 pypiwin32-219即表示安装成功

2、打包

现在打包app.py,从Windows命令提示符(cmd)运行:

pyinstaller.exe --onefile --windowed app.py

就这么简单。

如果打包成功,最终的可执行文件app.exe和任何相关文件将放在dist目录中,如果该目录不存在,将创建该目录。

Python文件如何打包成exe文件

下面简要介绍一下正在使用的选项:

--onefile用于将所有内容打包到单个可执行文件中。如果未指定此选项,则库等将作为单独的文件与主可执行文件一起分发。

--windowed防止在运行应用程序时显示控制台窗口。如果您要发布非图形应用程序(即控制台应用程序),则无需使用此选项。

app.py为主要源文件。此脚本的基本名称将用于可执行文件(exe)的名称,但也可以使用该--name选项指定备用可执行文件名。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上是Python文件如何打包成exe文件的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn