py2exe生成exe运行报错

最近做了一个爬取网页信息的工具,代码如图

py2exe生成exe运行报错

py2exe生成exe运行报错

主要的程序是checklic.py,mysetup.py只是辅助生成exe的,这两段代码都没有问题。主程序是可以单独运行的,没有问题,辅助程序是以前使用过多次的,也没有问题。

但是通过py2exe生成exe后出现了如图的问题

py2exe生成exe运行报错

一直怀疑是py2exe或者编译器的问题,因为lxml库中有c函数。但是装了py2的c编译器,但是产生的exe还是报错。

我就去看了lxml的代码,发现它的函数代码的名字是_elementpath.py,报错也是因为一个函数,一直找不到它,但是库里面确实有它。

这时候我就去看产生的exe的文件夹那里,发现了library.zip文件,点进去找到lxml文件夹,里面确实没有_elementpath的文件。
py2exe生成exe运行报错
py2exe生成exe运行报错

将lxml库里面的_elementpath.pyc放进到library.zip的lxml里面,再次运行exe文件,报错消失了!!!!!

我个人觉得可能是_elementpath函数的命名有问题,或者是py2exe的bug,目前还不清楚具体原因,但是问题可以解决。
py2exe生成exe运行报错