【终极解决办法】pyinstaller打包exe没有错误,运行exe提示Failed to execute script 'mainlmageWindows' due tounhandled exception: No module named 'docx'

一、通过pyinstaller打包exe可执行文件,由于我的py是多个,所以要先生成spec文件,代码如下:

pyi-makespec mainImageWindows.py

此时生产了一个mainImageWindows.spec的文件,内容如下:

 我们需要修改里边的内容

 二、通过pyinstaller打包spec文件为exe文件

pyinstaller -F mainImageWindows.spec 

打包完成后会增加_pycache_、build、dist三个文件,其中exe文件在dist文件内

 

 双击运行后报错,如下图:

 在网上查了好多资料后,都说是pyinstaller无法打包docx,此时我们需要找到pyinstaller包的安装位置,解决办法如下:

1、先这pycharm当中查看pyinstaller包安装的位置

 

 2、在PyInstaller\hooks目录下新建一个名为“hook-docx.py”的文件

 3、在“hook-docx.py”的文件内新增以下代码:

from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files("docx")

4、然后再次pyinstaller -F mainImageWindows.spec 打包还是报同样错误

5、接着查看pyinstaller包对应的参数设置,参数如下:

 6、再次查看spec文件对应的参数,参数如下:

 

 7、根据上边的参数修改了spec文件的hookspath参数为D:\anaconda\envs\zhaco工具\Lib\site-packages\PyInstaller\hooks,设置如下:

 8、此时再次打包后运行不在报Failed to execute script 'mainlmageWindows' due tounhandled exception: No module named 'docx'错误了,但是又报

 

 9、此时再次更改spec文件,在hiddenimports中添加'lxml._elementpath'参数

 10、然后最后再次打包,打包代码如下:

pyinstaller -F -w mainImageWindows.spec --hidden-import lxml._elementpath

11、此时再次运行exe文件后不再报错,完没解决。

0 条评论
请不要发布违法违规有害信息,如发现请及时举报或反馈
还没有人评论呢,速度抢占沙发!
相关文章
  • 前言 当拿下域控权限时,为了维持权限,常常需要驻留一些后门,从而达到长期控制的目的。Windows AD域后门五花八门,除了常规的的添加隐藏用户、启动项、计划任务、抓取登录时的密码,还有一些基于ACL...

  • 问题: Win7下在尝试搭建简单http服务器的时候,执行httpListener.Start();报错HttpListener拒绝访问异常 代码如下: HttpListener httpListe...

  • windows11 彻底修改c盘用户名 由于一开始注册的时候没有注意使用了中文名导致后来再使用一些应用的时候出现问题浪费了大量的时间找不出原因(例如:安装cuda 的时候在使用nvcc编译.cu...

  • 作者:京东工业 宛煜昕 扫雷游戏相信很多人都从小玩过,在那个电脑游戏并不多的时代,扫雷成为玩的热度蛮高的一款游戏之一,然而就在有一次,接触到了一次不寻常的扫雷过程,使得后来我也有了这个冲动,也来做一次...

  • 本文干货充足篇幅较长,建议收藏后阅读避免迷路。文末可获取【自动聊天机器人源码和Demo】。即时通讯IM概述如果能开发一款即时聊天App,能和微信消息互通,并且只需少许代码量,应该是件非常兴奋的事情吧。...

  • 一、导入光驱 二、安装可选的windows组件   三、双击打开网路服务,安装DHCP/DNS服务器。 注:服务器地址要固定,因此安装时要规划好网络。 四、ip地址范围规划时要预留i出一些p地...

  • 基于作者QuaoarsWorkshop的视频Open Cascade Lessons,讲的非常详细,观看需要魔法 什么是OCCT?. 首先,Open CASCADE Technology SDK 是...

  • 一、 DOS 的历史 DOS(Disk Operating System),磁盘操作系统 1980 年,西雅图程序员蒂姆-帕特森,86-DOS 1981 年由微软公司购买并改进,更名为 MS-DOS ...

  • 下载安装包 Prometheus windows_exporter Grafana 下载地址:https://share.weiyun.com/D9sdiWoC 工作原理 Exporter 监...

  • 昨天写的文章《Windows Server上部署IoTdb 集群》,Windows下的InfluxDB是控制台程序,打开窗口后,很容易被别人给关掉,因此考虑做成Windows服务,nssm正是解决该问...

  • 实践环境 win10 Python 3.6.2 odoo_14.0.latest.tar.gz 下载地址: https://download.odoocdn.com/download/14/src?p...

  • 本周热点趋势榜虽然新项目不多,但是还是有几个不错值得收藏的工具项目,比如用来做文本转语音的 tortoise-tts 能生成更加贴近真实人声的语音,让 Golang 并发更出色的 conc,以及通过 ...

  • Windows 系统下怎么获取 UDP 本机地址 我们知道 UDP 获取远端地址非常简单,通常接口 recvfrom 就可以直接获取到远端的地址和端口;如果获取 UDP 的本机地址就需要点特殊处理了,...

  • 这天要写一个关于系统部署的系列文章,涉及到Windows Server 2022操作系统的安装,所以就写了此文。Windows系列的操作系统安装,以前的博文中都有介绍,这里再次做一个安装描述吧。需要的...

  • 1.步骤一,提取当前目录下的文件名字   tree 当前目录 /f>随机目录\输出文件.txt 输出文件内容大致为这样 2.步骤二,转换文件名字为你想要的,比如此处我想将图片名称中的名字全部...

  • 拉取镜像 老样子先拉取一个镜像。 docker pull mongo:latest 运行容器 docker run -p 27017:27017 --name mongo -v /d/mongo/d...

  • 同学,学uni-app好啊,大致上写一套代码能生成这么多个平台的应用,我简单念一下,它们分别是Android应用、IOS应用、Web应用、微信小程序、支付宝小程序、百度小程序、字节跳动小程序、快应用、...

  • 下载PHP个人下载版本为 PHP 7.4 (7.4.33) 的版本。把下载后的文件解包放到合适的位置,比如D:\Program Files\php-7.4.33-Win32-vc15-x86。配置环境...

  • 生活中存在同时使用两个微信的情况,一个工作一个生活,这时希望同时在电脑上登录两个账号。如何做到呢?步骤如下: 右键单击“微信”图标,选择属性,目标框内的路径就是微信安装路径,复制目标框里的内容。 将...

  • Windows喝水记录工具v2.0 作者以前基本不喝水,后面体检出来身体出现了一些问题(肾结晶什么的),多喝水可以减轻甚至痊愈,由于没有喝水的习惯怕喝多或者喝少,所以做了这个桌面小工具,喝一杯记录一...