找回密码
 会员注册
查看: 29|回复: 0

Python脚本(.py)转换为可执行文件(exe)

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71371
发表于 2024-9-9 18:15:28 | 显示全部楼层 |阅读模式
使用PyInstaller将Python脚本转换为可执行文件(exe)在开发和分发Python应用程序时,将脚本打包成可执行文件是一种常见的需求。PyInstaller是一个流行的工具,可以将Python脚本转换为独立的、可执行的二进制文件,从而使应用程序在没有Python解释器的环境中也能运行。本文将详细介绍如何使用PyInstaller进行转换。1.安装PyInstaller首先,确保已经安装了Python解释器。然后,可以使用pip来安装PyInstaller:第一步:查看是否安装pip环境:pip--version1第二步:安装pyinstallerpipinstallpyinstaller12.创建Python脚本在开始转换之前,首先需要编写要转换的Python脚本。可以根据自己的需求编写脚本,例如一个简单的“hello.py”脚本,输出“Hello,World!”。3.使用PyInstaller转换脚本第一步:打开我们的python脚本存放目录,在目录框里面输入cmd按回车键并进入我们的cmd命令行界面。第二步:我们在cmd命令行界面输入以下命令来对py文件进行转换:pyinstaller--onefilehello.py1cmd会出现以下结果:C:\ali>pyinstaller--onefilehello.py154INFOyInstaller:3.6154INFOython:3.8.6155INFOlatform:Windows-10-10.0.25982-SP0156INFO:wroteC:\ali\hello.spec162INFO:UPXisnotavailable.164INFO:ExtendingPYTHONPATHwithpaths['C:\\ali','C:\\ali']164INFO:checkingAnalysis164INFO:BuildingAnalysisbecauseAnalysis-00.tocisnonexistent164INFO:Initializingmoduledependencygraph...171INFO:Cachingmodulegraphhooks...184INFO:Analyzingbase_library.zip...2507INFOrocessingpre-findmodulepathhookdistutils2509INFO:distutils:retargetingtonon-venvdir'c:\\programfiles\\python\\lib'5674INFO:Cachingmoduledependencygraph...5786INFO:runningAnalysisAnalysis-00.toc5804INFO:AddingMicrosoft.Windows.Common-Controlstodependentassembliesoffinalexecutablerequiredbyc:\programfiles\python\python.exe5947WARNING:libnotfound:api-ms-win-core-fibers-l1-1-0.dlldependencyofC:\WINDOWS\system32\ucrtbase.dll5953WARNING:libnotfound:api-ms-win-core-kernel32-legacy-l1-1-1.dlldependencyofC:\WINDOWS\system32\ucrtbase.dll5967WARNING:libnotfound:api-ms-win-core-sysinfo-l1-2-0.dlldependencyofC:\WINDOWS\system32\ucrtbase.dll5980WARNING:libnotfound:api-ms-win-core-fibers-l1-1-1.dlldependencyofC:\WINDOWS\system32\ucrtbase.dll6127INFO:AnalyzingC:\ali\hello.py6129INFOrocessingmodulehooks...6129INFOoadingmodulehook"hook-distutils.py"...6133INFOoadingmodulehook"hook-encodings.py"...6227INFOoadingmodulehook"hook-lib2to3.py"...6237INFOoadingmodulehook"hook-pydoc.py"...6239INFOoadingmodulehook"hook-sysconfig.py"...6241INFOoadingmodulehook"hook-xml.etree.cElementTree.py"...6242INFOoadingmodulehook"hook-xml.py"...6339INFOoadingmodulehook"hook-_tkinter.py"...6574INFO:checkingTree6574INFO:BuildingTreebecauseTree-00.tocisnonexistent6574INFO:BuildingTreeTree-00.toc6717INFO:checkingTree6717INFO:BuildingTreebecauseTree-01.tocisnonexistent6718INFO:BuildingTreeTree-01.toc6747INFOookingforctypesDLLs6767INFO:Analyzingrun-timehooks...6770INFO:Includingrun-timehook'pyi_rth__tkinter.py'6772INFO:Includingrun-timehook'pyi_rth_multiprocessing.py'6778INFOookingfordynamiclibraries7074INFO:Lookingforeggs7074INFO:UsingPythonlibraryc:\programfiles\python\python38.dll7074INFO:Foundbindingredirects:[]7077INFO:WarningswrittentoC:\ali\build\hello\warn-hello.txt7112INFO:Graphcross-referencewrittentoC:\ali\build\hello\xref-hello.html7135INFO:checkingPYZ7135INFO:BuildingPYZbecausePYZ-00.tocisnonexistent7135INFO:BuildingPYZ(ZlibArchive)C:\ali\build\hello\PYZ-00.pyz7627INFO:BuildingPYZ(ZlibArchive)C:\ali\build\hello\PYZ-00.pyzcompletedsuccessfully.7635INFO:checkingPKG7635INFO:BuildingPKGbecausePKG-00.tocisnonexistent7635INFO:BuildingPKG(CArchive)PKG-00.pkg10023INFO:BuildingPKG(CArchive)PKG-00.pkgcompletedsuccessfully.10038INFO:Bootloaderc:\programfiles\python\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe10039INFO:checkingEXE10039INFO:BuildingEXEbecauseEXE-00.tocisnonexistent10039INFO:BuildingEXEfromEXE-00.toc10041INFO:AppendingarchivetoEXEC:\ali\dist\hello.exe10051INFO:BuildingEXEfromEXE-00.toccompletedsuccessfully.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364这将生成一个名为“hello.exe”的可执行文件。我们存放hello.py文件原有的路径有一下几个文件:4.运行可执行文件转换完成后,可以在同一目录下的dist文件夹找到生成的可执行文件。双击运行“hello.exe”,将会在命令行或终端窗口中看到“Hello,World!”的输出。5.高级选项PyInstaller提供了许多高级选项,用于自定义转换过程。例如,可以指定生成的可执行文件的名称、图标、依赖项等。其他内容可以参考PyInstaller的官方文档以获取更多详细信息。下面是PyInstaller的相关命令:1.安装PyInstaller在终端中输入以下命令安装PyInstaller:pipinstallpyinstaller12.打包Python代码在终端中进入Python代码所在的目录,然后输入以下命令:pyinstalleryourscript.py1其中,yourscript.py是你要打包的Python代码文件名。运行完这个命令后,PyInstaller会自动创建一个dist目录,其中包含了可执行文件以及其他必要的文件。3.添加额外的文件如果你的Python代码依赖于其他文件(如配置文件、图片等),则需要使用--add-data参数来将这些文件添加到可执行文件中,例如:pyinstaller--add-data'config.ini:.'yourscript.py1上述命令将会将config.ini文件添加到可执行文件中,并将其放置在可执行文件所在的目录下。4.指定输出目录默认情况下,PyInstaller会将可执行文件放置在dist目录中。如果你想将可执行文件放置在其他目录中,可以使用--distpath参数来指定输出目录,例如:pyinstaller--distpath/path/to/outputyourscript.py15.指定打包方式PyInstaller支持多种打包方式,包括单个文件、一系列文件和目录、或者一个ZIP包。你可以使用--onefile参数将Python代码打包成单个可执行文件,例如:pyinstaller--onefileyourscript.py1如果你想将Python代码打包成一个ZIP包,则可以使用--onedir参数,例如:pyinstaller--onediryourscript.py16.其他参数PyInstaller还支持很多其他参数,如设置图标、禁止控制台窗口、设置Python版本等。你可以通过pyinstaller--help命令查看所有可用参数。pyinstaller--icon=youricon.ico--noconsoleyourscript.py1上述命令将会将youricon.ico设置为可执行文件的图标,并且禁止显示控制台窗口。以上是PyInstaller的一些常用命令,可以根据实际情况进行调整。希望这篇博客能够帮助到你。6.结论使用PyInstaller将Python脚本转换为可执行文件是一种简单而有效的方式,使得应用程序能够在没有Python解释器的环境中独立运行。通过按照本文提供的步骤,你可以轻松地将自己的Python脚本转换为可执行文件。希望这篇博客文档对你有所帮助!如果有任何问题,请随时提问。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-9 20:29 , Processed in 1.339372 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表