最近给朋友用python写一个操作 excel 的小程序,对方机器上没安装python,我这里必须把代码编译打包成exe文件给对方使用。
除了使用 xlrd xlwt xlutils 库之外,我还使用了 win32com.client .编写好了,在我机器上完美的跑起来了。接下来用 pyinstaller 打包,我这里是打包了单个 exe 文件。
生成exe后,本地实验没问题,可是发送给对方,对方运行的时候出错了,提示:
缺少动态链接库,对方使用的是 Win7系统,我是在 Win10下打包的,我的python版本是3.9.7
百度后发现 python 3.9之后已经不支持 win7了。我需要在低版本的 python 编译后生成exe文件,对方才可以在 win7上使用。
重新创建了一个 python 3.8.5的虚拟环境,安装各种依赖库后,发现原来写的py文件运行不起来了。
提示ImportError: DLL load failed while importing win32api: 找不到指定的模块
分析原因是我机器装了两个 python 环境,一个 3.9 一个3.8 的
在任何一个环境下都需要调用同版本的 win32api.我需要把 python 3.8.5的 win32api安装后才能使用。
安装方法:到虚拟环境的 Scripts 目录下输入如下命令
就可以了。
如果切换到 python 3.9及以上版本环境,同样需要到响应的虚拟环境的 Scripts目录下重新安装
pywin32_posinstall.py