Python项目打包成可执行的exe文件

简介: Python项目打包成可执行的exe文件

前言

之前有人私信我,他写了一个在终端交互的小程序,希望可以不在IDE的终端显示,而是独立一个窗口进行交互。其实只要把项目打包成exe执行文件,就可以在执行的时候在cmd独立一个窗口了。


如果python项目打包exe呢?下面按照步骤讲解一下。


环境依赖

安装pyinstaller。


pip install pyinstaller -i https://pypi.douban.com/simple

项目打包

项目部分代码


image.png


先看一下项目在终端执行的效果。


image.png


使用pyinstaller命令在打包将main方法打包。


pyinstaller -F main.py

打包过程

C:\Users\yi\PycharmProjects\txl>pyinstaller -F main.py
143 INFO: PyInstaller: 4.7
143 INFO: Python: 3.7.6
144 INFO: Platform: Windows-10-10.0.19041-SP0
145 INFO: wrote C:\Users\yi\PycharmProjects\txl\main.spec
162 INFO: UPX is not available.
165 INFO: Extending PYTHONPATH with paths
['C:\\Users\\yi\\PycharmProjects\\txl']
640 INFO: checking Analysis
641 INFO: Building Analysis because Analysis-00.toc is non existent
641 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.toc
4619 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
  required by c:\users\yi\appdata\local\programs\python\python37\python.exe
5046 INFO: Analyzing C:\Users\yi\PycharmProjects\txl\main.py
5049 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 DLLs
5529 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 libraries
5721 INFO: Looking for eggs
5722 INFO: Using Python library c:\users\yi\appdata\local\programs\python\python37\python37.dll
5722 INFO: Found binding redirects:
[]
5726 INFO: Warnings written to C:\Users\yi\PycharmProjects\txl\build\main\warn-main.txt
5765 INFO: Graph cross-reference written to C:\Users\yi\PycharmProjects\txl\build\main\xref-main.html
5782 INFO: checking PYZ
5783 INFO: Building PYZ because PYZ-00.toc is non existent
5783 INFO: Building PYZ (ZlibArchive) C:\Users\yi\PycharmProjects\txl\build\main\PYZ-00.pyz
6170 INFO: Building PYZ (ZlibArchive) C:\Users\yi\PycharmProjects\txl\build\main\PYZ-00.pyz completed successfully.
6182 INFO: checking PKG
6182 INFO: Building PKG because PKG-00.toc is non existent
6182 INFO: Building PKG (CArchive) main.pkg
7800 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.exe
7803 INFO: checking EXE
7803 INFO: Building EXE because EXE-00.toc is non existent
7804 INFO: Building EXE from EXE-00.toc
7805 INFO: Copying bootloader EXE to C:\Users\yi\PycharmProjects\txl\dist\main.exe
7897 INFO: Copying icon to EXE
7897 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 bytes
7996 INFO: Writing RT_ICON 1 resource with 3752 bytes
7997 INFO: Writing RT_ICON 2 resource with 2216 bytes
7997 INFO: Writing RT_ICON 3 resource with 1384 bytes
7997 INFO: Writing RT_ICON 4 resource with 37019 bytes
7997 INFO: Writing RT_ICON 5 resource with 9640 bytes
7998 INFO: Writing RT_ICON 6 resource with 4264 bytes
7998 INFO: Writing RT_ICON 7 resource with 1128 bytes
8002 INFO: Copying 0 resources to EXE
8003 INFO: Emedding manifest in EXE
8004 INFO: Updating manifest in C:\Users\yi\PycharmProjects\txl\dist\main.exe
8007 INFO: Updating resource type 24 name 1 language 0
8011 INFO: Appending PKG archive to EXE
9702 INFO: Building EXE from EXE-00.toc completed successfully.
C:\Users\yi\PycharmProjects\txl>

会在dist生成exe文件,就是我们要的。

image.png

双击执行一下

image.png

总结

没啥总结的,做个记录。

分享:

       当你年轻时,以为什么都有答案,可是老了的时候,你可能又觉得其实人生并没有所谓的答案。——《天使之城》

相关文章
|
6月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
1513 2
|
5月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
952 68
|
6月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
866 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
6月前
|
异构计算 Python
ERROR: pip’s dependency resolver does not currently take into 报错-Python项目依赖冲突的解决方案-优雅草优雅草卓伊凡
ERROR: pip’s dependency resolver does not currently take into 报错-Python项目依赖冲突的解决方案-优雅草优雅草卓伊凡
483 1
|
6月前
|
API 语音技术 开发者
Python 项目打包,并上传到 PyPI,分享项目
本文介绍了如何使用 Poetry 打包并发布一个 Python 项目至 PyPI。内容包括:项目创建、配置 `pyproject.toml` 文件、构建软件包、上传至 PyPI、安装与使用。通过实例 iGTTS 展示了从开发到发布的完整流程,帮助开发者快速分享自己的 Python 工具。
|
6月前
|
人工智能 Shell Python
ERROR: pip’s dependency resolver does not currently take into 报错-Python项目依赖冲突的解决方案-优雅草优雅草卓伊凡
ERROR: pip’s dependency resolver does not currently take into 报错-Python项目依赖冲突的解决方案-优雅草优雅草卓伊凡
291 0
|
7月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
236 0
|
Python Windows
【Python】Python打包生成可执行程序
有时候使用Python写的工具需要给其他人使用,但不同的电脑上面环境各不相同,安装Python还需要装对应的库,比较麻烦,打包成可执行文件是一个很好的解决方案。刚开始打包执行文件时采用的是py2exe,后来由于打包时包含库的问题处理麻烦换了pyinstaller,总体来说后者还是稍微好用一点。
740 0
【Python】Python打包生成可执行程序
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
685 102
|
6月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
407 104

推荐镜像

更多