只需三步即可将 Python 程序转换成 exe 文件

article/2025/10/29 12:47:28

只需三步即可将 Python 程序转换成 exe 文件

用pyinstaller可以将.py文件转换成.exe格式,让你的程序在没有安装python环境的windows上运行。

一、在cmd命令行执行安装pyinstaller工具

pip install pyinstaller

二、下载安装pyinstaler运行时所需windows扩展:pywin32

mhammond/pywin32
https://github.com/mhammond/pywin32/releases
选择最新版的下载,注意选择与python版本和位数对应的
如32位python3.7.4对应下载:【pywin32-223.win32-py3.7.exe】
如64位python3.7.4对应下载:【pywin32-223.win-amd64-py3.7.exe】

三、在命令行中执行打包命令即可

格式如下:
pyinstaller [opts] yourprogram.py
参数含义
-F 指定打包后只生成一个exe格式的文件(建议写上这个参数)
-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
-c –console, –nowindowed 使用控制台,无界面(默认)
-w –windowed, –noconsole 使用窗口,无控制台
-p 添加搜索路径,让其找到对应的库。
-i 改变生成程序的icon图标例1.指定文件路径打包:pyinstaller -F D:\project\tanchishe.py
例2.不带窗口,后台运行打包:pyinstaller -F -w D:\project\tanchishe.py
例3.更换程序图标打包:pyinstaller -F -w -i D:\project\test.ico D:\project\tanchishe.py

这里咱们执行开始打包:

(venv) C:\Users\www_9\PycharmProjects\python-tanchishe>pyinstaller -F tanchishe.py

四、打包结果如下:

在这里插入图片描述

五、运行打包好的程序

在这里插入图片描述

六、报错处理:

  • 执行Pyinstaller 打包的exe文件执行报错如下(我用的Python版本为:python3.7.5):
Microsoft Windows [版本 10.0.18363.778]
(c) 2019 Microsoft Corporation。保留所有权利。C:\Users\www_9>C:\Users\www_9\PycharmProjects\python-tanchishe\dist\tanchishe.exe
Traceback (most recent call last):File "lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py", line 13, in <module>File "c:\users\www_9\pycharmprojects\python-tanchishe\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_moduleexec(bytecode, module.__dict__)File "lib\site-packages\pkg_resources\__init__.py", line 86, in <module>
ModuleNotFoundError: No module named 'pkg_resources.py2_warn'
[30844] Failed to execute script pyi_rth_pkgresC:\Users\www_9>
  • 解决办法(卸载高版本setuptools ,然后安装setuptools44.0):
  1. 卸载高版本:pip uninstall setuptools
(venv) C:\Users\www_9\PycharmProjects\python-tanchishe>pip uninstall setuptools
Found existing installation: setuptools 46.1.3
Uninstalling setuptools-46.1.3:Would remove:c:\users\www_9\pycharmprojects\python-tanchishe\venv\lib\site-packages\easy_install.pyc:\users\www_9\pycharmprojects\python-tanchishe\venv\lib\site-packages\pkg_resources\*c:\users\www_9\pycharmprojects\python-tanchishe\venv\lib\site-packages\setuptools-46.1.3.dist-info\*c:\users\www_9\pycharmprojects\python-tanchishe\venv\lib\site-packages\setuptools\*c:\users\www_9\pycharmprojects\python-tanchishe\venv\scripts\easy_install-3.7.exec:\users\www_9\pycharmprojects\python-tanchishe\venv\scripts\easy_install.exe
Proceed (y/n)? ySuccessfully uninstalled setuptools-46.1.3
  1. 安装低版本: pip install setuptools==44.0.0
(venv) C:\Users\www_9\PycharmProjects\python-tanchishe>pip install setuptools==44.0.0
Collecting setuptools==44.0.0Downloading setuptools-44.0.0-py2.py3-none-any.whl (583 kB)|████████████████████████████████| 583 kB 26 kB/s
Installing collected packages: setuptools
Successfully installed setuptools-44.0.0
  1. 重新打包程序:>pyinstaller -F tanchishe.py
(venv) C:\Users\www_9\PycharmProjects\python-tanchishe>pyinstaller -F tanchishe.py
97 INFO: PyInstaller: 3.6
98 INFO: Python: 3.7.5
98 INFO: Platform: Windows-10-10.0.18362-SP0
100 INFO: wrote C:\Users\www_9\PycharmProjects\python-tanchishe\tanchishe.spec
118 INFO: UPX is not available.
120 INFO: Extending PYTHONPATH with paths
['C:\\Users\\www_9\\PycharmProjects\\python-tanchishe','C:\\Users\\www_9\\PycharmProjects\\python-tanchishe']
120 INFO: checking Analysis
125 INFO: Building because c:\users\www_9\pycharmprojects\python-tanchishe\venv\lib\site-packages\pkg_resources\__init__.py changed
125 INFO: Initializing module dependency graph...
131 INFO: Caching module graph hooks...
138 INFO: Analyzing base_library.zip ...
3643 INFO: Caching module dependency graph...
3794 INFO: running Analysis Analysis-00.toc
3800 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executablerequired by c:\users\www_9\pycharmprojects\python-tanchishe\venv\scripts\python.exe
3824 INFO: Analyzing C:\Users\www_9\PycharmProjects\python-tanchishe\tanchishe.py
4200 INFO: Processing pre-find module path hook   distutils
4201 INFO: distutils: retargeting to non-venv dir 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\lib'
4264 INFO: Processing pre-find module path hook   site
4265 INFO: site: retargeting to fake-dir 'c:\\users\\www_9\\pycharmprojects\\python-tanchishe\\venv\\lib\\site-packages\\PyInstaller\\fake-modules'
5648 INFO: Processing module hooks...
5648 INFO: Loading module hook "hook-distutils.py"...
5651 INFO: Loading module hook "hook-encodings.py"...
5860 INFO: Loading module hook "hook-pkg_resources.py"...
6338 INFO: Processing pre-safe import module hook   win32com
Traceback (most recent call last):File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'win32com'
6464 INFO: Processing pre-safe import module hook   win32com
Traceback (most recent call last):File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'win32com'
6790 INFO: Excluding import '__main__'
6792 INFO:   Removing import of __main__ from module pkg_resources
6792 INFO: Loading module hook "hook-pydoc.py"...
6794 INFO: Loading module hook "hook-pygame.py"...
6795 WARNING: Hidden import "pygame._view" not found!
6795 INFO: Loading module hook "hook-sysconfig.py"...
6798 INFO: Loading module hook "hook-xml.dom.domreg.py"...
6799 INFO: Loading module hook "hook-xml.etree.cElementTree.py"...
6800 INFO: Loading module hook "hook-xml.py"...
6827 INFO: Looking for ctypes DLLs
6842 INFO: Analyzing run-time hooks ...
6848 INFO: Including run-time hook 'pyi_rth_pkgres.py'
6853 INFO: Looking for dynamic libraries
8980 INFO: Looking for eggs
8980 INFO: Using Python library C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python37.dll
8981 INFO: Found binding redirects:
[]
8985 INFO: Warnings written to C:\Users\www_9\PycharmProjects\python-tanchishe\build\tanchishe\warn-tanchishe.txt
9035 INFO: Graph cross-reference written to C:\Users\www_9\PycharmProjects\python-tanchishe\build\tanchishe\xref-tanchishe.html
9054 INFO: checking PYZ
9056 INFO: Building because toc changed
9057 INFO: Building PYZ (ZlibArchive) C:\Users\www_9\PycharmProjects\python-tanchishe\build\tanchishe\PYZ-00.pyz
9922 INFO: Building PYZ (ZlibArchive) C:\Users\www_9\PycharmProjects\python-tanchishe\build\tanchishe\PYZ-00.pyz completed successfully.
9943 INFO: checking PKG
9946 INFO: Building because toc changed
9946 INFO: Building PKG (CArchive) PKG-00.pkg
12773 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
12779 INFO: Bootloader c:\users\www_9\pycharmprojects\python-tanchishe\venv\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe
12780 INFO: checking EXE
12783 INFO: Building because toc changed
12783 INFO: Building EXE from EXE-00.toc
12786 INFO: Appending archive to EXE C:\Users\www_9\PycharmProjects\python-tanchishe\dist\tanchishe.exe
12796 INFO: Building EXE from EXE-00.toc completed successfully.(venv) C:\Users\www_9\PycharmProjects\python-tanchishe>
  1. 然后运行编译所生成的exe文件
C:\Users\www_9>C:\Users\www_9\PycharmProjects\python-tanchishe\dist\tanchishe.exe
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.htmlC:\Users\www_9>
  1. tanchishe.exe可以正常运行了
    在这里插入图片描述
  • 可参考资料:搜索收集的相关知识页面,这里记录下来,方便日后参考:
打包教程:https://zhuanlan.zhihu.com/p/38659588Pyinstaller No module named pkg_resources.py2_warn:https://blog.51cto.com/cfy10/2468597?source=drapyInstaller打包完成以后运行程序时出现ModuleNotFoundError: No module named 'pkg_resources.py2_warn:https://blog.csdn.net/BINGYiii/article/details/104193180windows下安装setuptools与pip:https://www.cnblogs.com/longronglang/p/10443625.html下载不同版本 settools  不同版本地址:https://pypi.Python.org/pypi/setuptoolssetuptools 44.0版本地址:https://pypi.org/project/setuptools/44.0.0/

http://chatgpt.dhexx.cn/article/vEMGADdh.shtml

相关文章

将python文件转成exe文件

通过 pyinstaller 将 python 文件 转成 exe 文件 第一步&#xff1a;推荐使用pip工具安装 pyinstaller cmd-- pip install pyinstaller 第二步&#xff1a; 在目标文件夹地址栏直接输入&#xff1a;cmd&#xff0c;此操作可以不用记住文件路径名称&#xff0c;直接在黑窗命令…

Python打包为exe文件

前言 我们开发的python脚本一般都会用到一些第三方包&#xff0c;当别人需要用到我们编写的脚本时&#xff0c;如果我们将脚本文件发给他&#xff0c;他是不能直接运行去用的&#xff0c;他需要安装python解释器&#xff0c;配置相应的环境&#xff0c;这是相当麻烦的。那怎么…

【Python】如何将写好的Python代码打包成exe文件?

&#x1f194;作者简介&#xff1a;一名电子信息大学生. &#x1f4d1; 个人主页&#xff1a;爱学习的汪同学主页&#x1f440; &#x1f4eb; 如果文章知识点有错误的地方,请指正&#xff01;和大家一起学习进步 &#x1f525; 如果感觉博主的文章还不错的话&#xff0c;还请不…

python文件转为可执行文件(.exe)的详细步骤

目录 六一快乐&#xff01;&#xff01;&#xff01;&#xff01; 前言 安装所需要的工具 关于“pyinstaller” 安装“pyinstaller” 准备python文件 打包python文件 运行可执行文件 注意事项&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 关于依赖项…

一次学会两种方式将 python 打成 exe

python 可以做网站应用&#xff0c;也可以做客户端应用。但是客户端应用需要运行 py 脚本&#xff0c;如果用户不懂 python 就是一件比较麻烦的事情。幸好 python 有第三方模块可以将脚本可以转成 exe 执行。 有些人可能要问了既然可以做成网站&#xff0c;为啥还要做成客户端…

手把手教你把Python代码转成exe

【文末有福利】 很多刚入门的盆友都有疑惑怎么把Python代码转成可执行的exe&#xff1f;&#xff0c;这里行哥统一解决一下这个问题 1.在cmd里安装pyintsaller包2.在cmd里输入打包成exe的命令3.问题总结4. pyintsaller --help5. end 1.在cmd里安装pyintsaller包 第一步安装将Py…

微服务架构服务治理:服务注册中心+服务发布与注册+服务发现与调用+服务监控

目录 一、服务注册中心&#xff1a;注册中心核心功能实现策略 1.注册中心核心功能 2.注册中心实现策略 二、服务发布与注册 三、服务发现与调用 四、服务监控 基本思路&#xff1a;日志埋点 基本目标&#xff1a; 基本定位&#xff1a; 基本策略&#xff1a; 具体实…

zabbix 监控 windows 服务器

zabbix 监控 windows 服务器 步骤&#xff1a; 1.确定zabbix服务器的IP地址和 zabbix 版本 2.官网下载对应版本的zabbix-agent或 3.在要监控的windows服务器中安装zabbix-agent 4.在zabbix配置里添加windows主机第一步&#xff1a;确定zabbix服务器的IP地址和 zabbix 版本 如…

java监听服务器信息,java实时监控服务器状态

java实时监控服务器状态 内容精选 换一换 监控是保持弹性云服务器可靠性、可用性和性能的重要部分,通过监控,用户可以观察弹性云服务器资源。为使用户更好地掌握自己的弹性云服务器运行状态,公有云平台提供了云监控。您可以使用该服务监控您的弹性云服务器,执行自动实时监控…

使用Grafana+Prometheus配置服务器监控

文章目录 前言一、Grafana安装和配置1.安装2.登录 二、Prometheus安装和配置1.安装1.1 配置系统服务 2.查看服务 三、node_exporter安装和配置1.安装1.1 配置系统服务 2.修改prometheus.yml配置3.查看服务 四、Grafana配置prometheus1.配置数据源2.导入首页模板 前言 最近项目…

springboot2.x中的服务监控

想给服务添加一个监控&#xff0c;看看网上各位前辈的&#xff0c;基本都是基于springboot1.x的&#xff0c;springboot升级到2.0以后和1.x还是有很多不一样的&#xff0c;那么2.0以后怎么使用admin监控呢&#xff1f; 先看下图的managment.security.enable&#xff0c;现在已经…

cacti监控服务器性能,cacti监控服务器

cacti监控服务器 内容精选 换一换 博文目录一、Cacti1、Cacti简介2、cacti的作用和特点3、cacti监控的数据类型二、安装配置Cacti监控服务器1、配置LAMP环境2、安装SNMP和RRDtooll工具3、部署英文cacti连接mariadb4、客户端访问英文cacti的WEB界面5、部署中文cacti连接maria 来…

Grafana + prometheus在Centos搭建服务器监控系统(三)--配置监控Nginx

部署并配置nginx-module-vts 参考我之前的文章&#xff1a; Linux下Nginx配置nginx-module-vts_allen的博客-CSDN博客 配置nginx-vts-exporter exporter会收集nginx性能指标的JSON格式数据&#xff0c;并汇总后暴露监控接口给Prometheus。 cd /data/program wget -c https…

shell脚本实现服务监控报警并重启

第一篇 使用crontab指令的shell脚本实现服务监控报警重启 这两天做了一个服务监控报警重启的脚本。本质就是用一个shell命令去监控服务状态&#xff0c;如果宕机就会自动重启&#xff0c;并向指定邮箱发送邮件对管理人员进行提醒&#xff0c;再使用crontab命令设置每隔一分钟…

Zabbix +Grafana 服务器监控体系

无监控&#xff0c;不运维。废话不多说&#xff0c;下面都是干货 官方地址&#xff1a; https://www.zabbix.com/cn/download 声明 使用的是zabbix6.0.7版本。Mysql 8.0.26。演示使用的系统镜像为rocky linux 8.6 --------------------------------------------Zabbix--------…

SpringBoot整合Admin服务监控(图文详细)

SpringBoot整合Admin服务监控组件 1 SpringBootAdmin 简介 1.1 概述 SpringBootAdmin 是一个非常好用的监控和管理的开源组件&#xff0c;该组件能够将 Actuator 中的信息进行界面化的展示&#xff0c;也可以监控所有 Spring Boot 应用的健康状况&#xff0c;提供实时警报功…

windows下的文件服务器监控

windows下的文件服务器监控 一、使用Windows自带的管理工具进行查看当前服务器连接的用户及打开的文件&#xff0c;但是该功能比较简单&#xff0c;无法对文件进行监控&#xff0c;比如什么时间哪个用户连接到共享文件夹对该文件夹的文件进行过什么操作。 二、使用工具软件 …

java项目实现服务器监控,Java实现服务器状态监控

Java实现服务器状态监控 内容精选 换一换 云容器实例(Cloud Container Instance,CCI)服务提供 Serverless Container(无服务器容器)引擎,让您无需创建和管理服务器集群即可直接运行容器。Serverless 是一种架构理念,是指不用创建和管理服务器、不用担心服务器的运行状态(服务…

安利一款免费、开源、实时的服务器监控工具:Netdata

Netdata 是一个免费、开源、实时的服务器监控工具&#xff0c;可以可视化和监控实时数据&#xff0c;如 CPU 使用率、RAM 使用率、负载、SWAP 使用率、带宽使用率、磁盘使用率等。它可以帮助系统管理员了解您的系统或应用程序中正在发生的事情以及刚刚发生的事情。它可以安装在…

Spring Boot服务监控(Prometheus)

哲学 最近看到了一句话&#xff1a;定乎内外之分 辩乎荣辱之境。 一个外国作家也说过&#xff1a; 我生命里的的最大突破之一&#xff0c;就是我不再为别人的看法而担忧。此后&#xff0c;我真的能自由的去做我认为对自己最好的事&#xff0c;只有在我们不需要外来的赞许时&…