首页 > 编程语言 >【Python】怎么把Python脚本打包成可执行程序?

【Python】怎么把Python脚本打包成可执行程序?

时间:2024-01-13 14:01:10浏览次数:27  
标签:可执行文件 文件 Python py -- main 可执行程序 打包 图标

需求分析

最近根据用户提的需求用python做了一个小工具,但是在给客户使用的时候不能直接发送python文件,毕竟让客户去安装python环境,那就离了大谱了。所以这时候就需要把多个py文件带着运行环境打包成EXE可执行文件


技术实现

这里以window为例,Mac是同样的道理。

一、检测脚本是否正常

1、确保电脑上已经安装好 python,并且已经配置好了运行环境。

2、使用Windows键 + R 打开运行窗口,然后输入cmd并按Enter键,或者在开始菜单中搜索“命令提示符”并打开。

3、使用cd命令切换到存储Python脚本的目录。例如,如果脚本在 C:\Users\xiaodou\Documents 下,你可以输入以下命令:

cd C:\Users\xiaodou\Documents

4、在命令提示符中,输入以下命令运行你的Python脚本,测试脚本是否能正常执行:

python main.py

二、打包单个文件

1、 安装 PyInstaller: 在命令行中运行以下命令安装 PyInstaller:

pip install pyinstaller

2、使用 PyInstaller 打包程序: 在命令行中,进入Python 文件的目录,然后运行以下命令:

pyinstaller --onefile main.py

这个命令将创建一个名为 dist 的目录,这里面会包含了一个独立的.exe可执行文件。main.py 中的所有依赖项将被打包到这个可执行文件中。

  • --onefile:它指定将所有程序文件和依赖项打包成一个单独的可执行文件。这意味着生成的可执行文件包含了你的主程序文件以及所有依赖的模块和库,使得你只需分发一个文件,而不是多个文件。

3、找到生成的可执行文件:dist 目录中找到生成的可执行文件。这个文件的名称通常与你的主程序文件(main.py)相同,例如,main.exe

【Python】怎么把Python脚本打包成可执行程序?_window

4、 将可执行文件拷贝到目标计算机: 将生成的可执行文件拷贝到目标计算机上,然后在目标计算机上运行它。由于这是一个独立的可执行文件,不需要安装 Python 环境,可以在没有 Python 的情况下直接运行。

三、去除命令行弹框

这个程序在window系统上执行的时候,会有个命令行弹框,这时候如何把命令行弹框去掉呢?

1、使用--noconsole 选项(建议)

在使用PyInstaller打包时,你可以使用--noconsole选项,它会告诉PyInstaller在Windows上创建一个窗体应用程序而不是控制台应用程序。这样就不会显示命令行窗口。

pyinstaller --onefile --noconsole main.py

2、在脚本中隐藏窗口(只在Windows上有效)

如果你的程序是一个图形界面应用程序,你可以在你的main.py中加入代码来隐藏命令行窗口。这通常需要使用ctypes库,例如:

import ctypes

ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 0)

四、指定可执行文件的icon图标

如果我们修改程序的图标和显示图标,可以按照下面的步骤操作:

1、准备一个.ico格式的图标文件,放在py文件的同级目录下。

2、在运行 PyInstaller 命令时,可以通过 --icon 选项指定图标文件,这个图标将用于生成的可执行文件的显示图标和窗口图标。例如:

pyinstaller --onefile --noconsole --icon=xiaodou.ico main.py

注意事项:

  • 图标文件通常使用.ico格式。
  • 确保指定的图标文件是有效的,否则可能导致PyInstaller命令失败。
  • 一些窗体库(例如tkinter)可能需要特殊处理来设置程序窗口的图标。在这种情况下,你可能需要在程序代码中设置图标。

标签:可执行文件,文件,Python,py,--,main,可执行程序,打包,图标
From: https://blog.51cto.com/u_15812995/9232223

相关文章

  • Python逆向爬虫入门教程: 酷狗音乐加密参数signature逆向解析
    数据来源分析......
  • Python手相识别教程5拇指
    5拇指拇指是手相术中最重要的部分之一。印度和中国的某些早期手相学派仅凭拇指就能评估一个人的性格和成功机会。拇指是看手相的微缩画布--小小的手指中蕴含着丰富的信息。拇指可以让你一目了然地了解一个人的深刻见解。从字面上看,它就像一幅人物性格的"缩略图"。拇指的大小和......
  • Python: spire.doc
     #encoding:utf-8#版权所有2024涂聚文有限公司#许可信息查看:#描述:#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python3.11#Datetime:2024/1/1310:21#User:geovindu#Product:PyCharm#Project:pyBaiduAi#F......
  • 免费APP分发,支持应用合并、内测分发、扫码下载,下载量安装量统计,版本记录和应用在线封
    免费APP内测分发托管平台,支持应用合并、内测分发、扫码下载,下载量安装量统计,版本记录和应用在线封装打包app应用分发?应用分发也叫APP分发,其主要功能是方便APP的快速安装测试和推广那么分发App选择什么平台最好呢?这个主要是看App处于什么阶段。看看是处于应用测试阶段还是处于测......
  • python Y轴最小刻度
    Python中Y轴最小刻度在数据可视化中,Y轴最小刻度是很重要的一个概念。它代表了Y轴的起始点,通常用于确定绘图中的最小值。在Python中,我们可以使用不同的库来创建图表,并设置Y轴的最小刻度。matplotlib库matplotlib是一个流行的Python数据可视化库,可以用来创建各种类型的图表,包括饼......
  • python Image close
    如何实现“pythonImageclose”作为一名经验丰富的开发者,你要教会刚入行的小白如何实现“pythonImageclose”。下面是一个完整的流程图,来帮助你理解整个过程:graphTBA(开始)-->B(导入模块)B-->C(打开图像文件)C-->D(关闭图像文件)D-->E(结束)上......
  • python IP段中所有ip
    PythonIP段中所有IP的获取和使用在网络中,IP地址是一个标识网络中设备的唯一地址。有时候,我们可能需要获取一个IP段中的所有IP地址,以便进行一些网络操作或者分析。Python作为一种功能强大的编程语言,提供了丰富的库和工具来处理IP地址和网络操作。在本文中,我们将介绍如何使用Python......
  • python Crypto加密解密
    PythonCrypto加密解密导言在现代信息时代,数据的安全性十分重要。为了保护敏感数据,我们经常需要使用加密算法来对数据进行加密和解密。Python中的Crypto库是一个功能强大的加密库,提供了各种加密算法和工具,可以方便地对数据进行加密和解密操作。本文将介绍使用PythonCrypto库进......
  • python 3d图 包装成类
    如何使用Python包装成类进行3D图形绘制引言在数据可视化领域,3D图形绘制可以帮助我们更好地理解数据的分布规律和特征。Python提供了许多强大的库来实现3D图形绘制,如matplotlib、plotly和mayavi等。本文将介绍如何使用Python包装成类的方式来进行3D图形的绘制,以便更加方便地复用和......
  • python 2数组同时排序
    Python2数组同时排序在Python中,排序是一种常见的操作。当我们想要对多个数组进行排序时,可以使用zip()函数和sorted()函数来实现。本文将详细介绍如何使用这两个函数对数组进行排序,并提供相应的代码示例。首先,我们需要了解zip()函数的作用。zip()函数可以将多个数组中的元素一一......