记两个版本Python共存引发的玄学事件
记两个版本Python共存引发的玄学事件
2020.02.21
今天由于他人特殊需求,需要将某个脚本打包为无需依赖的可执行文件,好在对方的系统是win7使得不用考虑太多跨平台编译的问题。我打算使用pyinstaller进行打包。
然而,当我调试完成,py main.py可以正常运行后,pyinstaller -F main.py生成的程序却一闪而过,不知出了什么问题。在控制台运行才发现竟然是No module named win32api,查看warning log得知,三个属于pywin32的模块均未找到。我再次使用解释器执行脚本,却一切正常。
仔细排查许久,终于发现问题所在:
pyinstaller仅支持Python2,而我平时使用的都是Python3,也就是说py命令本质上是Python3,pywin32库也同样通过pip3安装。这样一来,一切基于Python2的pyinstaller自然找不到模块。那么,只需pip2 install pywin32即可解决问题。

浙公网安备 33010602011771号