完美解决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 18 Python
Python中特殊函数集锦
Jul 27 Python
Python 实现简单的电话本功能
Aug 09 Python
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
python3.4爬虫demo
Jan 22 Python
Python实现通过解析域名获取ip地址的方法分析
May 17 Python
python实现爬取百度图片的方法示例
Jul 06 Python
Python交互式图形编程的实现
Jul 25 Python
python对象转字典的两种实现方式示例
Nov 07 Python
如何通过命令行进入python
Jul 06 Python
Python jiaba库的使用详解
Nov 23 Python
opencv深入浅出了解机器学习和深度学习
Mar 17 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
PHP4.04简明安装
2006/10/09 PHP
php-fpm配置详解
2014/02/12 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
Destoon实现多表查询示例
2014/08/21 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
php封装的page分页类完整实例
2016/10/18 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
javascript实现时钟动画
2020/12/03 Javascript
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
python元组操作实例解析
2014/09/23 Python
Python中的getopt函数使用详解
2015/07/28 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
Volcom英国官方商店:美国殿堂级滑板、冲浪、滑雪服装品牌
2019/03/13 全球购物
JVM是一个编译程序还是解释程序
2012/09/11 面试题
体育教师工作总结的自我评价
2013/10/10 职场文书
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
nginx之queue的具体使用
2022/06/28 Servers