通过pyinstaller将python项目打包成exe执行文件

news/2024/5/19 22:57:15 标签: python, pyinstaller

目录

pyinstaller-toc" style="margin-left:0px;">第一步:安装pyinstaller

第二步:获取一个ico图标(也即是自己这个exe文件最后的图标)

第三步:打包


pyinstaller">第一步:安装pyinstaller

pip install pyinstaller

第二步:获取一个ico图标(也即是自己这个exe文件最后的图标)

先从这里获取一个png图片:iconfont-阿里巴巴矢量图标库

再转化成ico图片(推荐256 x 256):PNG转ICO - 在线转换图标文件

 可以把得到的ico图片放在python运行文件同一个目录下

第三步:打包

从cmd进入到python项目的执行文件main.py的目录下:执行:

pyinstaller -F -w -i xxx.ico main.py -p xxx1.py -p xxx.py2 ……

说明:-F 生成一个文件夹

   -w 不显示控制台

   -i xxx.ico 给项目添加.ico图标

   如果项目仅仅只有一个.py文件,-p后面的代码不需要写,反之,要把每一个.py项目都加上

打包完后,会在当前路径生成dist文件夹、build文件夹、xxxx.spec文件。他们的功能是:

build文件夹:该目录是pyinstaller生成的临时目录,用于存放编译过程中生成的中间文件和临时文件。

dist文件夹:该目录是pyinstaller生成的最终目录,用于存放编译后生成的可执行文件或打包后的应用程序。

xxxx.spec文件:pyinstaller的配置文件,用于指定编译的参数和选项。可以通过修改该文件来自定义编译过程中的一些设置。

里面就是需要的exe执行文件,直接把这个exe文件在任何一个windows电脑双击打开就直接运行了代码,对方电脑不需要python环境。

注意:

打包后的exe文件是否会被提取到原始python代码?

一般情况下,使用PyInstaller打包生成的exe文件不会包含原始Python代码。打包过程将Python源代码转换为二进制可执行文件,所以即使你有exe文件,也无法轻易地获取原始Python代码。

但是,如果你在构建exe文件时使用了一些特殊选项,如--debug--upx-dir等,这些选项可能会将源代码嵌入到exe文件中。但这种情况极少发生,因为通常情况下这些选项只会在特定的调试或优化场景下使用。

总之,除非你在构建的时候使用了特殊选项,否则通常情况下不能从通过PyInstaller打包后的exe文件中提取原始Python代码。


http://www.niftyadmin.cn/n/5013979.html

相关文章

【SpringBoot笔记39】SpringBoot + SockJS + Stomp实现WebSocket通信(建立连接、发送消息、订阅消息、断开连接)

这篇文章,主要介绍SpringBoot + SockJS + Stomp实现WebSocket通信(建立连接、发送消息、订阅消息、断开连接)。 目录 一、WebSocket通信 1.1、前端环境 1.2、后端环境 1.3、添加WebSocket配置

容器编排学习(三)端口映射与Harber镜像仓库介绍

一 对外发布服务(端口映射) 1 概述 新创建容器的IP 地址是随机的 容器在重启后每次 IP 都会发生变化 容器服务只有宿主机才能访问 如何才能使用容器对外提供稳定的服务? 容器端口可以与宿主机的端口进行映射绑定 从而把宿主机变成对应的服务&a…

np.concatenate

np.concatenate函数是numpy库中用来连接两个或多个数组的函数。这里有一个简单的例子演示np.concatenate的用法: ```python import numpy as np # 创建两个一维数组 array1 = np.array([1, 2, 3]) array2 = np.array([4, 5, 6]) # 使用np.concatenate进行连接 result = np.…

(Java)多线程带来的的风险-线程安全 (第一部)

前言:线程安全是整个多线程中,最为复杂的部分,也是最重要的部分。 目录 什么是线程安全问题? 线程不安全的原因 ⁜⁜总结 :线程安全问题的原因 ⁜⁜ 解决方法1 ——加锁 synchronized (监视器锁monitor…

AI绘画:StableDiffusion实操教程-斗破苍穹-云韵-常服(附高清图下载)

前段时间我分享了StableDiffusion的非常完整的教程:“AI绘画:Stable Diffusion 终极宝典:从入门到精通 ” 不久前,我与大家分享了StableDiffusion的全面教程:“AI绘画:Stable Diffusion 终极宝典&#xff…

SAP-写了一个FUNCTION,用于读取订单中,指定工序的状态。

需求 在开发一个涉及工序的Report的过程中发现,SAP仅提供了Function去获取订单的状态,没有提供获取订单工序状态的Function。考虑到后续开发的过程中,还需要复用到这个功能,于是打算按这个需求去开发一个Function,传入AFVC表的主键,返回的是把该工序的全部已激活的状态,…

C语言入门Day_17 循环的控制

目录 前言 1.break 2.continue 3.易错点 4.思维导图 前言 我们知道当循环判断的边界条件不成立以后,循环就结束了。除此以外,我们如果想要提前结束循环,或者在循环中跳过某一次循环代码的执行,应该怎么做呢? 假如…

sql:SQL优化知识点记录(十五)

(1)MySQL主从复制 我们这里配置一Windows上的MySql做主机,Linux上的MySql做从机,搭建一主一从 测试以下是否能够拼通:从Linux上:167,连接Windows的165 从Windows的165 连接Linux上:…