解决Python xlwings报错AttributeError ‘NoneType’ object has no attribute apps

一、问题背景

今天,遇到了一个问题:以前调试好的python使用xlwings操作wps表格的脚本突然不能运行了,遇到了很多莫名问题,下面记录分享下:

开始报错如下:

在网上查找了很长时间,找到如下面解决方法:

把这句代码

修改如下

但是,修改对应代码运行后报错如下:

pip安装对应模块

又折腾很长时间,突然想到从一个最简单的xlwings操作wps表格的代码脚本调试,如下:

main.py

又报出下面错误:

可以判断出xlwings依赖的pywin32模块不兼容。

二、pywin32下载

查看pywin32版本是最新的306版本。先卸载以前安装的pywin32版本,我尝试把pywin32版本降级,300版本不可以,228版本可以。

pywin32下载地址:

https://github.com/mhammond/pywin32

下载速度很慢,可以使用迅雷下载。

三、总结

从这个问题可以看出,是因为pywin32版本不兼容问题引起的,如果我写代码,调试完成后,把python模块依赖版本导出做下记录,就可以避免这种问题了。

四、PyCharm依赖包导入导出方法

在PyCharm的terminal中输入:

1.将依赖包导出至requirements文件

2.从requirements文件中导入依赖包

这是我自己导出的


如果本文对您有所帮助,请关注微信公众号 “ 捷创源Linux ”,可以获取更多技术干货!