pyinstaller把python代码打包成exe文件(单个py文件,有很多依赖文件都可以)

pyinstaller把python代码打包成exe文件

虽然代码很方便,但是执行的时候,至少需要安装了python才行,那别人如果没安装过python,就没办法使用你的python代码实现的功能了

但是!!!如果你把代码打包成一个exe文件,那就非常方便了!
你把对应的依赖都设置好,别人直接就可以用了,而且这个有一点好处,就是你的代码别人是看不到的,更加的安全保密,我是不是很机智 😃

网上查看了很多文章,但是操作起来都稍微有点复杂,经过我的实际操作,发现可以不用高的那么复杂,就可以实现大家的目标

前提

  1. 项目文件已经准备好了
  2. 已经安装了Pyinstaller

如果没有安装Pyinstaller,使用以下命令进行安装

pip install Pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

话不多说,我们直接进入正题

打包单个py文件

只是写了个简单的py文件,不需要用到其他的文件,包括自己写的其他py文件、文本文档,图片等,只要有你这个py文件,就可以正常运行,那这种情况下打包是很简单的

pyinstaller -F your_script.py

your_script.py 代表你要打包成exe 的 py文件

-F 表示要把这个py文件打包成单个可执行文件
–onefile 实现的是与 -F 一样的效果,但是不能与-F同时使用

执行命令执行之后,在项目目录下会多两个文件夹,exe文件在 dist 里面
在这里插入图片描述

这个是最基本的命令
还有一些其他的命令,简单给大家介绍一下

-w 使用窗口,无控制台
-C 使用控制台,无窗口
-n 文件名 可以指定生成的exe文件名称,很少使用
-i 或者 --icon 可以指定生成的exe文件的图标

给大家展示下我 添加图标和不添加图标的结果
不指定图标,默认的图标是这样子的
在这里插入图片描述
指定了exe文件的图标之后,变成了下面这样
注意: 直接看不会显示更改之后的图标,需要你把文件拖到桌面上一下,或者重命名一下
在这里插入图片描述
打包单个py文件就到这里,还有很多命令,没有去给大家介绍,知道常用的就差不多了,下面给大家带来多文件打包成一个exe文件的项目

打包多个文件

项目的主文件,需要使用到其他的py文件,或者其他的文件资源,如文本,图片等,只给别人一个主文件,他运行会报错,这个时候就需要把多个文件打包在一起了

一个关键命令要记住: --add-data “src;dest”
需要依赖的自己的文件都可以这么去添加

项目的架构如下:
(我把需要依赖的相似作用的文件放到同一个文件夹了,方便后续命令添加依赖)

project/
│
├── main.py
├── utils/
│    └── util1.py
│    └── util2.py
│    ...
└── data/
│    └── data.csv
│    └── picture.png
│    ...
├── conf.ini

main.py 是项目的主文件
utils文件夹里面有很多主文件依赖的py文件
data文件夹里面也有很多依赖的各种数据
还有一个conf.ini 也是项目依赖的文件

把这么多文件进行打包,该怎么办呢?
看到有的同学是编写spec文件去一个一个把依赖文件写过去的,文件少了还好,如果依赖的文件很多,那就太累了。其实使用我给大家介绍的命令的话会变得非常简单。

上代码

pyinstaller -F --add-data "utils/*;utils/"  --add-data "data/*;data/" --add-data "conf.ini;." mian.py

通过这样的命令就可以把有很多依赖的man.py打包成一个 exe文件了,可以正常

这里给大家解释一下命令的参数的作用

-F:指明你想要创建一个单一的exe文件。
–add-data "utils/;utils/":将utils文件夹添加到打包到 exe中,并且保持文件夹结构(即在exe中作为utils文件夹存在)。
–add-data 'data/
;data/':将data文件夹中的所有文件添加到打包的exe中,并且保持文件夹结构(即在exe中作为data文件夹存在)。
–add-data “conf.ini;.”:将conf.ini添加到打包的exe中,并且保持文件夹结构(即在exe中作为conf.ini文件存在)。

到这里就给大家介绍完毕了
如果你有任何python问题,都可以加我微信交流哦!
不保证能够解决问题哈,大家一起交流学习

在这里插入图片描述

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值