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中实现将一张图片剪切成四份的方法
Dec 05 Python
python创造虚拟环境方法总结
Mar 04 Python
Python3模拟curl发送post请求操作示例
May 03 Python
python制作简单五子棋游戏
Jun 18 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
python实现几种归一化方法(Normalization Method)
Jul 31 Python
Python下opencv图像阈值处理的使用笔记
Aug 04 Python
python实现的发邮件功能示例
Sep 11 Python
Python 用turtle实现用正方形画圆的例子
Nov 21 Python
Python CategoricalDtype自定义排序实现原理解析
Sep 11 Python
Pycharm常用快捷键总结及配置方法
Nov 14 Python
pandas中DataFrame重置索引的几种方法
May 24 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
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
php 一元分词算法
2009/11/30 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
jquery中的 $("#jb51")与document.getElementById("jb51") 的区别
2011/07/26 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
jcrop基本参数一览
2013/07/16 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
Vue.js每天必学之数据双向绑定
2016/09/05 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
Python基本数据类型详细介绍
2014/03/11 Python
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
2019/10/25 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
python3.5的包存放的具体路径
2020/08/16 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
DNA基因检测和分析:23andMe
2019/05/01 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
毕业生找工作的求职信范文
2013/12/24 职场文书
初中政治教学反思
2014/01/17 职场文书
展会邀请函范文
2014/01/26 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
党员先进事迹材料
2014/12/19 职场文书