完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误


Posted in Python onApril 01, 2020

报错信息

最近闲来无事,用python的tkinter库开发了一款带日程提醒的万年历桌面程序。在程序开发结束开始打包时,却发现一直报错

PyInstaller cannot check for assembly dependencies.
Please install PyWin32 or pywin32-ctypes.
pip install pypiwin32

但是运行pip install pypiwin32时却提示两个库都已经安装过了

可是当再运行打包脚本时就是死活无法打包,就是提示缺少上面两个依赖库。

各种度娘发现都没有遇到类似奇葩情况的。

于是决定自行解决,首先根据错误关键词到pyinstaller的源码中去检索报错位置。

最终发现是因为导包问题引起的,两个依赖库确实已经安装只是导入方式不同导致报错。

解决方案

在python安装路径下找到Lib/site-packages/Pyinstaller目录下有个compat.py文件定位到212行

源码如下:

if is_win:
  try:
    from win32ctypes.pywin32 import pywintypes # noqa: F401
    from win32ctypes.pywin32 import win32api
  except ImportError:
    xxxx
    xxxx

做如下修改:将两个from改为import

if is_win:
  try:
    # from win32ctypes.pywin32 import pywintypes # noqa: F401
    # from win32ctypes.pywin32 import win32api
    import pywintypes
    import win32api
  except ImportError:
    xxxx
    xxxx

然后再重新运行打包脚本,打包成功

到此这篇关于完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误的文章就介绍到这了,更多相关pyinstaller打包报错找不到pypiwin32内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python备份文件的脚本
Aug 11 Python
Python实现的Google IP 可用性检测脚本
Apr 23 Python
实现python版本的按任意键继续/退出
Sep 26 Python
Python实现按学生年龄排序的实际问题详解
Aug 29 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
用pandas中的DataFrame时选取行或列的方法
Jul 11 Python
Python 处理图片像素点的实例
Jan 08 Python
python装饰器练习题及答案
Nov 01 Python
在Python 的线程中运行协程的方法
Feb 24 Python
Jupyter notebook如何修改平台字体
May 13 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 Python
pycharm 配置svn的图文教程(手把手教你)
Jan 15 Python
Python greenlet和gevent使用代码示例解析
Apr 01 #Python
Django-rest-framework中过滤器的定制实例
Apr 01 #Python
Python如何操作office实现自动化及win32com.client的运用
Apr 01 #Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 #Python
Python AutoCAD 系统设置的实现方法
Apr 01 #Python
django实现模型字段动态choice的操作
Apr 01 #Python
Python气泡提示与标签的实现
Apr 01 #Python
You might like
基于PHP的简单采集数据入库程序
2014/07/30 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
jquery validate使用攻略 第四步
2010/07/01 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
javascript闭包入门示例
2014/04/30 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
python中map()函数的使用方法示例
2017/09/29 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
python 实现多维数组转向量
2019/11/30 Python
如何理解python中数字列表
2020/05/29 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
幼儿园实习自我鉴定
2013/12/15 职场文书
自我鉴定三原则
2014/01/13 职场文书
法学专业自我鉴定
2014/02/05 职场文书
人力资源作业细则
2014/03/03 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
2015年村党支部工作总结
2015/04/30 职场文书