pyinstaller将含有多个py文件的python程序做成exe


Posted in Python onApril 29, 2020

1.尽量将资源文件夹放到主文件夹下

pyinstaller将含有多个py文件的python程序做成exe

2.pyi-makespec main.py

制作spec文件

3.spec文件在当前文件夹下,main.spec

编辑spec文件

# -*- mode: python -*-
block_cipher = None
 
a = Analysis(['main.py', 'monitor.py',  
'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\caption_recognizer.py', 
'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\image_recognizer.py',
'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\image_vectorizer.py',
'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\network2.py',
'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\test_fun.py',
'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\unicom_area.py',
'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\unicom_area_finder.py',
'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\unicom_area_include_caption_judger.py',
'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\value_vectorizer.py'],
             pathex=['E:\\py_project\\test_wpf_python_msg'],
             binaries=[],
             datas=[('E:\\py_project\\test_wpf_python_msg\\images', 'images'),
			('E:\\py_project\\test_wpf_python_msg\\network_parameters', 'network_parameters')],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='main',
          debug=False,
          strip=False,
          upx=True,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='main')

pyinstaller将含有多个py文件的python程序做成exe

(1)第一个列表中写所有的py文件,与main一个文件夹的可以直接写文件名,不一个文件夹的需要写完整的文件路径。

我曾试过在pathex中加入其他文件的路径,然后其他py文件不写完整路径,只写文件名,但是失败了。

(2)datas是中的元素是tuple类型,tuple的第一个参数是python项目中data文件(非py文件)的路径,

第二个参数是data在exe中保存此资源的文件夹名,要和项目中的文件夹名相同

(3)最重要: 因为编译成exe之后的main.exe是在最外层的文件夹的。因为main.py是入口文件,所以被调用的其他py文件的当前路径都是main.py文件的当前路径。所以在源代码中就一定要把main.py放到最外层的项目文件夹中,这样main.py的当前路径才能和main.exe的路径保持一致,才能让其他的py文件的当前路径不变,他们才可以找到data资源。

4.用之前配置的spec文件制作exe: pyinstaller -d main.spec

使用-d制作出来的exe比使用-f的快很多,因为-f把所有dll文件都打包到一个exe中了。

5.生成的exe在dist文件夹中

到此这篇关于pyinstaller将含有多个py文件的python程序做成exe的文章就介绍到这了,更多相关pyinstaller py打包成exe内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木

Python 相关文章推荐
python 解析XML python模块xml.dom解析xml实例代码
Feb 07 Python
python检测某个变量是否有定义的方法
May 20 Python
python网络编程调用recv函数完整接收数据的三种方法
Mar 31 Python
Python实现定时精度可调节的定时器
Apr 15 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
python实现维吉尼亚加密法
Mar 20 Python
Python对接支付宝支付自实现功能
Oct 10 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
python模式 工厂模式原理及实例详解
Feb 11 Python
python关于变量名的基础知识点
Mar 03 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
详解Python+OpenCV进行基础的图像操作
Feb 15 Python
如何使用python切换hosts文件
Apr 29 #Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 #Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 #Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 #Python
Python通过Pillow实现图片对比
Apr 29 #Python
Python unittest单元测试框架实现参数化
Apr 29 #Python
Python ORM框架Peewee用法详解
Apr 29 #Python
You might like
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
PHP合并数组函数array_merge用法分析
2017/02/17 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
vuejs如何配置less
2017/04/25 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
浅谈Python 对象内存占用
2016/07/15 Python
Python计算两个日期相差天数的方法示例
2017/05/23 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
django如何通过类视图使用装饰器
2019/07/24 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
基于Python实现粒子滤波效果
2020/12/01 Python
python绘制雷达图实例讲解
2021/01/03 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
编辑硕士自荐信范文
2013/11/27 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
职位说明书范文
2014/05/07 职场文书
最美护士演讲稿
2014/08/27 职场文书
工程承包协议书
2014/10/20 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
2015年派出所工作总结
2015/04/24 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书