这篇教程Python项目打包成exe文件写得很实用,希望能帮到您。
前言之前有人私信我,他写了一个在终端交互的小程序,希望可以不在IDE的终端显示,而是独立一个窗口进行交互。其实只要把项目打包成exe执行文件,就可以在执行的时候在cmd独立一个窗口了。 如果python项目打包exe呢?下面按照步骤讲解一下。
环境依赖安装pyinstaller。 pip install pyinstaller -i https://pypi.douban.com/simple
项目打包项目部分代码 
先看一下项目在终端执行的效果。 
使用pyinstaller命令在打包将main方法打包。 打包过程 C:/Users/yi/PycharmProjects/txl>pyinstaller -F main.py143 INFO: PyInstaller: 4.7143 INFO: Python: 3.7.6144 INFO: Platform: Windows-10-10.0.19041-SP0145 INFO: wrote C:/Users/yi/PycharmProjects/txl/main.spec162 INFO: UPX is not available.165 INFO: Extending PYTHONPATH with paths['C://Users//yi//PycharmProjects//txl']640 INFO: checking Analysis641 INFO: Building Analysis because Analysis-00.toc is non existent641 INFO: Initializing module dependency graph...649 INFO: Caching module graph hooks...696 INFO: Analyzing base_library.zip ...4371 INFO: Caching module dependency graph...4614 INFO: running Analysis Analysis-00.toc4619 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable required by c:/users/yi/appdata/local/programs/python/python37/python.exe5046 INFO: Analyzing C:/Users/yi/PycharmProjects/txl/main.py5049 INFO: Processing module hooks...5050 INFO: Loading module hook 'hook-difflib.py' from 'c://users//yi//appdata//local//programs//python//python37//lib//site-packages//PyInstaller//hooks'...5052 INFO: Loading module hook 'hook-encodings.py' from 'c://users//yi//appdata//local//programs//python//python37//lib//site-packages//PyInstaller//hooks'...5253 INFO: Loading module hook 'hook-heapq.py' from 'c://users//yi//appdata//local//programs//python//python37//lib//site-packages//PyInstaller//hooks'...5256 INFO: Loading module hook 'hook-pickle.py' from 'c://users//yi//appdata//local//programs//python//python37//lib//site-packages//PyInstaller//hooks'...5260 INFO: Loading module hook 'hook-xml.py' from 'c://users//yi//appdata//local//programs//python//python37//lib//site-packages//PyInstaller//hooks'...5529 INFO: Looking for ctypes DLLs5529 INFO: Analyzing run-time hooks ...5532 INFO: Including run-time hook 'c://users//yi//appdata//local//programs//python//python37//lib//site-packages//PyInstaller//hooks//rthooks//pyi_rth_pkgutil.py'5535 INFO: Including run-time hook 'c://users//yi//appdata//local//programs//python//python37//lib//site-packages//PyInstaller//hooks//rthooks//pyi_rth_inspect.py'5542 INFO: Looking for dynamic libraries5721 INFO: Looking for eggs5722 INFO: Using Python library c:/users/yi/appdata/local/programs/python/python37/python37.dll5722 INFO: Found binding redirects:[]5726 INFO: Warnings written to C:/Users/yi/PycharmProjects/txl/build/main/warn-main.txt5765 INFO: Graph cross-reference written to C:/Users/yi/PycharmProjects/txl/build/main/xref-main.html5782 INFO: checking PYZ5783 INFO: Building PYZ because PYZ-00.toc is non existent5783 INFO: Building PYZ (ZlibArchive) C:/Users/yi/PycharmProjects/txl/build/main/PYZ-00.pyz6170 INFO: Building PYZ (ZlibArchive) C:/Users/yi/PycharmProjects/txl/build/main/PYZ-00.pyz completed successfully.6182 INFO: checking PKG6182 INFO: Building PKG because PKG-00.toc is non existent6182 INFO: Building PKG (CArchive) main.pkg7800 INFO: Building PKG (CArchive) main.pkg completed successfully.7803 INFO: Bootloader c:/users/yi/appdata/local/programs/python/python37/lib/site-packages/PyInstaller/bootloader/Windows-64bit/run.exe7803 INFO: checking EXE7803 INFO: Building EXE because EXE-00.toc is non existent7804 INFO: Building EXE from EXE-00.toc7805 INFO: Copying bootloader EXE to C:/Users/yi/PycharmProjects/txl/dist/main.exe7897 INFO: Copying icon to EXE7897 INFO: Copying icons from ['c://users//yi//appdata//local//programs//python//python37//lib//site-packages//PyInstaller//bootloader//images//icon-console.ico']7996 INFO: Writing RT_GROUP_ICON 0 resource with 104 bytes7996 INFO: Writing RT_ICON 1 resource with 3752 bytes7997 INFO: Writing RT_ICON 2 resource with 2216 bytes7997 INFO: Writing RT_ICON 3 resource with 1384 bytes7997 INFO: Writing RT_ICON 4 resource with 37019 bytes7997 INFO: Writing RT_ICON 5 resource with 9640 bytes7998 INFO: Writing RT_ICON 6 resource with 4264 bytes7998 INFO: Writing RT_ICON 7 resource with 1128 bytes8002 INFO: Copying 0 resources to EXE8003 INFO: Emedding manifest in EXE8004 INFO: Updating manifest in C:/Users/yi/PycharmProjects/txl/dist/main.exe8007 INFO: Updating resource type 24 name 1 language 08011 INFO: Appending PKG archive to EXE9702 INFO: Building EXE from EXE-00.toc completed successfully. C:/Users/yi/PycharmProjects/txl> 会在dist生成exe文件,就是我们要的。 
双击执行一下  python实现自动抢课脚本的示例代码 深入了解Python的继承
|