我一直在使用py2exe将一些脚本打包为可执行文件,直到出现此错误一直运行良好。
在一个脚本中,我需要解决一个简单的线性方程组。我一直用scipy.linalg.lstsq做这个。
问题是我使用任何scipy.linalg或numpy.linalg命令打包的任何脚本一旦到达该行就会崩溃。可执行文件编译没有错误。一切都按原样运行,直到它到达linalg命令,然后可执行文件关闭而没有警告或错误。没有写入错误日志。
我已经通过在命令周围手动编写带有标志的日志文件来确认它始终是linalg命令。
我之前使用过其他scipy软件包,主要是优化,没有问题。
我尝试使用'try'语句捕获错误,但无论如何都会崩溃。
我只能认为它是某种导入错误,但是在构建可执行文件时通常会抛出错误。
完全没有任何错误或警告信息让我对可能导致此问题的原因感到茫然。
答案 0 :(得分:0)
我设法解决了这个问题并希望发布解决方案。
J.J.发布的链接Hakala,表明matplotlib可能会出现相同症状的错误,因为py2exe不会将一些必要的dll传输到新的dist目录。我已经手动传输了该帖子中提到的dll,但是通过手动测试,我发现numpy.linalg也需要mkl_avx.dll。只需将其复制到dist目录,就可以解决此问题。