完美解决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中Flask框架简单入门实例
Mar 21 Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 Python
Python基础之函数的定义与使用示例
Mar 23 Python
Python2.7实现多进程下开发多线程示例
May 31 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
深入分析python 排序
Aug 24 Python
使用Pytorch搭建模型的步骤
Nov 16 Python
关于django python manage.py startapp 应用名出错异常原因解析
Dec 15 Python
matplotlib自定义鼠标光标坐标格式的实现
Jan 08 Python
python urllib和urllib3知识点总结
Feb 08 Python
PyQt5结合QtDesigner实现文本框读写操作
Jun 11 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获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
php设计模式小结
2013/02/15 PHP
为Extjs加加速(javascript加速)
2010/08/19 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
Python读大数据txt
2016/03/28 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
django-filter和普通查询的例子
2019/08/12 Python
python用requests实现http请求代码实例
2019/10/31 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
2020/09/16 Python
财务部岗位职责
2013/11/19 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
材料物理专业求职信
2014/09/01 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
杭白菊导游词
2015/02/10 职场文书
2015年工程师工作总结
2015/04/30 职场文书
升学宴学生致辞
2015/09/29 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL
深入理解go slice结构
2021/09/15 Golang