如何使用pyinstaller打包多个和单个python文件详解
作者:Acheng1011 发布时间:2023-03-30 10:48:26
一、打包多个
1、将需要打包的项目为anjuke_sd目录下的所有python文件,其中excute_main.py为主文件。
2、生成主函数对应的spec文件
命令:在anjuke_sd路径下使用:pyi-makespec excute_main.py
如下图已经生成excute_main.spec文件。
3、修改spec文件:加入需要打包的所有python文件,同时确保以下两项包含该项目的路径
4、对spec文件进行pyinstaller安装
命令:pyinstaller excute_main.spec
若显示如下所示则证明打包成功。
此时项目下多了两个目录,进入dist目录,找到dist路径下后缀名为exe的文件。这里为dist下目录excute_main下的excute_main.exe。
打包成功!
二、打包单个文件
1、还是进入你需要打包的文件的路径,执行命令:pyinstaller -F 1.py,如下图所示。
ps: -F参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,这个记住就行,固定命令。
出现问题:
assert mpl_data_dir, “Failed to determine matplotlib’s data directory!”
AssertionError: Failed to determine matplotlib’s data directory!
解决:
找到该文件:
D:\ProgramFile\Python38\Lib\site-packages\PyInstaller\hooks
修改hook-matplotlib.py文件,按照如下代码进行修改,再次打包就可以正常
import matplotlib
mpl_data_dir = matplotlib.get_data_path()
datas = [
(mpl_data_dir, "matplotlib/mpl-data"),
]
2、执行完毕之后,会生成几个文件夹,如下图所示。
点进去就看到了exe,点击运行
OK!
3、默认打包图片,如下图所示。
加上 -i 参数之后,如下图所示,会形成一个类似风力发电机的logo图案。
ps:程序路径最好全部都是英文,否则肯能会出现莫名其妙的问题
总结命令
Pyinstaller -F setup.py 打包exe
Pyinstaller -F -w setup.py 不带控制台的打包
Pyinstaller -F -i xx.ico setup.py 打包指定exe图标打包
平常我们只需要这三个就好了,足够满足所有需求了。
来源:https://blog.csdn.net/Aacheng123/article/details/120597852
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 有时候我们需要将一个对象的某些属性选取出来,比方说我们有一个用数组表示的数据库表,我们需要一些函数来 select (选取) 几个字段:fu
- Access method(访问方法):此步骤包括从文件中存储和检索记录。Alias(别名):某属性的另一个名字。在SQL中,可以用别名替换
- 对于中小型个人、企业网站来说,MySQL数据库或许是目前数据库的最完美实施解决方案了。在不变更服务器硬件的前提下,一个经过良好架构,优化后的
- 一、react-reduxreact-redux依赖于redux工作。 运行安装命令:npm i react-redux:使用: 将Prov
- 一、filter()在Python内建函数中,有一个和map()函数用法类似、却可以用来过滤元素的迭代函数,这个函数就是filter()。它
- 本文介绍基于Python中gdal模块,实现对大量栅格图像批量绘制直方图的方法。首先,明确一下本文需要实现的需求:现需对多幅栅格数据文件进行
- 很有创意的鼠标指针风筝,看起来非常有意思。在网络上看到的,一下也想不起来是那里的了,所以特别说一下图片是来自网络的,版权归作者所有。
- 本文实例讲述了Python从list类型、range()序列简单认识类(class)。分享给大家供大家参考,具体如下:list类型定义:it
- 前言CORS 即 Cross Origin Resource Sharing 跨域资源共享.跨域请求分两种:简单请求、复杂请求.简单请求简单
- 本文实例讲述了python实现颜色rgb和hex相互转换的函数。分享给大家供大家参考。具体分析如下:下面的python代码提供了两个函数分别
- 因工作需要研究了支付宝即时到帐接口,并成功应用到网站上,把过程拿出来分享。即时到帐只是支付宝众多商家服务中的一个,表示客户付款,客户用支付宝
- 全局变量与局部变量# num1是全局变量num1 = 1# num2是局部变量def func():num2 = 2在函数外(且不在函数里)
- 在我们设计网页的时候,总会遇到一些不愉快的事情,最常见的莫过于在后台添加内容后才发现显示的页面被撑开,导致网页极度不美观。以前大
- tensor计算三通道均值今天用pytorch处理图像时,涉及到了计算均值的问题,整理一下解决思路。第一种思路tensor转换为numpy再
- 二、XML的定义 XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能
- 到目前为止,我已经开发了两个HTML编辑器了,一个用在公司的CMS项目,另一个用在这个Blog(TidyEditor,暂时没有单独发布)。下
- HTML实体符号被用作实现保留字符(reserved characters)或者表达键盘无法输入的一些常用字符。在大多数浏览器中默认的字符集
- 很多时候,查看一个文件夹下的每个文件大小可以轻易的做到,因为文件后面就是文件尺寸,但是如果需要查看一个文件夹下面所有的文件夹对应的尺寸,就发
- 1.分包背景这里首先介绍下MultiDex的产生背景。当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的
- 目前,我们要在网页中使用圆角效果,总是通过切图然后嵌套很多div,用背景来实现圆角效果。对于前端开发工程师来说,圆角的确是一个让人又爱又恨的