我有一个 python 应用程序,我想提取可执行文件。我在其他脚本中使用 py2exe 没有问题。但是在这一个中,我遇到了我认为与我导入和使用 scipy 的事实有关的错误。
我的代码在 Eclipse 中运行良好。最初尝试使用 scipy 制作程序时,我丢失了 3 个 dll(“libmmd.dll”、“MSVCP90.dll”、“libifcoremd.dll”)。起初,我从 setup.py 中排除了这些,并且创建了 .exe 文件,但它没有运行。之后,我下载了 dll 文件(也删除了 setup.py 的排除项)并将它们添加到“C:\Python27\DLLs”以及“C:\Windows\System32”和“C:\Windows\SysWOW64”中(我有 64 位 windows7)。exe再次在文件夹dist中创建,但尝试运行它我得到了这个:http: //imageshack.us/photo/my-images/145/py2exe.png/
然后我尝试用 cx_Freeze 来做。再次创建了 .exe 文件,但出现此错误:http: //img521.imageshack.us/img521/3843/cxfreeze.png
所以我认为它与 py2exe 或 cx_Freeze 无关,但事实上 scipy 需要一些依赖项,这些依赖项出于某种原因在 eclipse 中工作,但不是在我制作可执行文件时。
有人遇到过这个问题吗?关于我应该做什么的任何想法?先感谢您!
编辑:我用 pyinstaller-2.0. 起初它没有运行。然后我将 DLL 添加到文件夹中,之后我将 numpy 和 scipy 添加到文件夹中,最后在出现错误消息后,我将 kdtree.py 添加到文件夹中。我很高兴看到它运行了!但后来又失望了,因为它只能在我的电脑上运行(那里有一些有用的 .exe)!我将它添加到一个保管箱文件夹中,它在我身上运行没有问题,但对其他人没有问题。我试过的其他机器的错误是:
importError:DLL 加载失败:%1 不是有效的 Win32 应用程序