pyinstaller将含有多个py文件的python程序做成exe_第1页
pyinstaller将含有多个py文件的python程序做成exe_第2页
pyinstaller将含有多个py文件的python程序做成exe_第3页
pyinstaller将含有多个py文件的python程序做成exe_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第pyinstaller将含有多个py文件的python程序做成exe1.尽量将资源文件夹放到主文件夹下

2.pyi-makespecmain.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)

(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-dmain.spec

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

5.生成的exe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论