完美解决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操作xml文件详细介绍
Jun 09 Python
利用Python绘制MySQL数据图实现数据可视化
Mar 30 Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 Python
Django实战之用户认证(用户登录与注销)
Jul 16 Python
Python调用shell命令常用方法(4种)
May 11 Python
Python中格式化字符串的四种实现
May 26 Python
Python控制台实现交互式环境执行
Jun 09 Python
使用Keras实现简单线性回归模型操作
Jun 12 Python
Django框架请求生命周期实现原理
Nov 13 Python
Python中BeautifulSoup通过查找Id获取元素信息
Dec 07 Python
Python页面加载的等待方式总结
Feb 28 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 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的优点与缺点
2013/04/11 PHP
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
js技巧--转义符"\"的妙用
2007/01/09 Javascript
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
微信小程序radio组件使用详解
2018/01/31 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
js实现盒子拖拽动画效果
2020/08/09 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
Python下singleton模式的实现方法
2014/07/16 Python
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
简单了解python的一些位运算技巧
2019/07/13 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
详解python变量与数据类型
2020/08/25 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
美国生鲜及杂货电商:FreshDirect
2018/01/29 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
同学聚会欢迎辞
2014/01/14 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
发工资啦!教你用Python实现邮箱自动群发工资条
2021/05/10 Python
SpringBoot中使用Redis作为全局锁示例过程
2022/03/24 Java/Android