python编译成exe速度会变快吗_python如何编译成exe

本文介绍了如何使用PyInstaller工具将Python程序打包成独立的EXE文件,便于在没有Python环境的Windows系统上运行。通过在命令行中运行`pyinstaller -F helloworld.py`等命令,可以生成包含所有依赖的可执行文件,同时提到了参数如`-w`用于去除控制台窗口,`-i`用于设置图标。整个过程包括生成.spec文件、构建、分析、打包等多个步骤。
摘要由CSDN通过智能技术生成

Python 程序都是脚本的方式,一般是在解析器里运行,如果要发布出去,需要提前安装解析器才可以运行,为了在 Windows 里方便发布,只要点击一个 EXE 文件运行,并且打包所需要库文件,这样发布给用户使用就会更方便。

5d634e24f34c4237.jpg

PyInstaller

PyInstaller 是一个十分有用的第三方库,可以用来打包 python 应用程序,打包完的程序就可以在没有安装 Python 解释器的机器上运行了。

更多相关知识,可以参考这篇文章:《python如何编译成exe文件》

它能够在 Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。

PyInstaller 支持 Python 2.7 / 3.4-3.7。可以在 Windows、Mac OS X 和 Linux 上使用,但是并不是跨平台的,而是说你要是希望打包成 .exe 文件,需要在 Windows 系统上运行 PyInstaller 进行打包工作。

下面我们以 Windows 为例来进行程序的打包工作。

安装pip install pyinstaller

# 或者

python -m pip install pyinstaller

使用pyinstaller -F helloworld.py

其中,-F 表示打包成单独的 .exe 文件,这时生成的 .exe 文件会比较大,而且运行速度回较慢。仅仅一个 helloworld 程序,生成的文件就 5MB 大。

另外,使用 -i 还可以指定可执行文件的图标;

-w 表示去掉控制台窗口,这在 GUI 界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!

PyInstaller 会对脚本进行解析,并做出如下动作:

1、在脚本目录生成 helloworld.spec 文件;

2、创建一个 build 目录;

3、写入一些日志文件和中间流程文件到 build 目录;

4、创建 dist 目录;

5、生成可执行文件到 dist 目录;

执行流程:$ pyinstaller -F helloworld.py

838 INFO: PyInstaller: 3.4

839 INFO: Python: 3.4.3

841 INFO: Platform: Windows-8-6.2.9200

842 INFO: wrote d:codePythonpyinstallerhelloworld.spec

858 INFO: UPX is not available.

885 INFO: Extending PYTHONPATH with paths

['d:codePythonpyinstaller', 'd:codePythonpyinstaller']

886 INFO: checking Analysis

887 INFO: Building Analysis because Analysis-00.toc is non existent

888 INFO: Initializing module dependency graph...

890 INFO: Initializing module graph hooks...

899 INFO: Analyzing base_library.zip ...

6225 INFO: Processing pre-find module path hook distutils

11387 INFO: running Analysis Analysis-00.toc

12012 INFO: Caching module hooks...

12022 INFO: Analyzing d:codePythonpyinstallerhelloworld.py

12027 INFO: Loading module hooks...

12028 INFO: Loading module hook "hook-encodings.py"...

12395 INFO: Loading module hook "hook-xml.py"...

13507 INFO: Loading module hook "hook-pydoc.py"...

13508 INFO: Loading module hook "hook-distutils.py"...

13606 INFO: Looking for ctypes DLLs

13662 INFO: Analyzing run-time hooks ...

13677 INFO: Looking for dynamic libraries

13894 INFO: Looking for eggs

13895 INFO: Using Python library C:WINDOWSsystem32python34.dll

13895 INFO: Found binding redirects:

[]

13915 INFO: Warnings written to d:codePythonpyinstalleruildhelloworldwarn-helloworld.txt

14035 INFO: Graph cross-reference written to d:codePythonpyinstalleruildhelloworldxref-helloworld.html

14287 INFO: checking PYZ

14287 INFO: Building PYZ because PYZ-00.toc is non existent

14288 INFO: Building PYZ (ZlibArchive) d:codePythonpyinstalleruildhelloworldPYZ-00.pyz

15836 INFO: Building PYZ (ZlibArchive) d:codePythonpyinstalleruildhelloworldPYZ-00.pyz completed successfully.

15883 INFO: checking PKG

15884 INFO: Building PKG because PKG-00.toc is non existent

15884 INFO: Building PKG (CArchive) PKG-00.pkg

18528 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.

18536 INFO: Bootloader D:programPython34libsite-packagesPyInstallerootloaderWindows-64bitun.exe

18537 INFO: checking EXE

18537 INFO: Building EXE because EXE-00.toc is non existent

18538 INFO: Building EXE from EXE-00.toc

18538 INFO: Appending archive to EXE d:codePythonpyinstallerdisthelloworld.exe

18548 INFO: Building EXE from EXE-00.toc completed successfully.

生成文件:

1566789029575912.jpg

1566789040701599.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值