使用VTK的Python可执行文件... pyinstaller,py2exe,cx_freeze等

Pet*_*ves 3 python pyqt py2exe pyinstaller vtk

我使用pyqt在python中构建了一个gui,它导入了VTK.我没有运气得到py2exe,pyinstaller cx_freeze等与它一起工作......我得到一个错误说下面的内容使用pyinstaller:

vtk.__helper.LinkError: No module named vtkFilteringPythonSIP
Run Code Online (Sandbox Code Playgroud)

我已经设法使用pyinstaller制作不包含vtk代码的工作可执行文件,所以我现在倾向于此,但是如果有人可以帮我编写代码来实现这个目的:http://www.vtk.org/ Wiki/VTK/Examples/Python/Widgets/EmbedPyQt代码作为可执行文件工作然后我将永远感激,但它已经完成.我已经尝试将它抱怨的文件添加到pyinstaller钩子但仍然没有运气.是否有旧的/开发版本已修复此错误?虽然我找到了同一条船上的人,但在信息高速公路上找不到任何解决方案.我正在使用最新版本的Python(X,Y).

Pet*_*ves 5

如果遇到任何人遇到同样的问题,我设法通过执行以下操作来使我的代码工作:

  • 在pyinstaller hooks文件夹中,将'hook-vtkpython.py'重命名为'hook-vtk.py'

我在运行pyinstaller生成的可执行文件时遇到了一个不同的错误,即无法找到一个名为QtOpenGL的模块.这发生在名为__helper.py的site-packages中的vtk文件夹中的文件中.我只是评论了最后两行去掉它的牙齿.

我也改变了我的代码,以便不是导入所有的vtk而是导入我需要的位.不确定是否只需要这些步骤中的第一步或两个步骤来解决我担心的问题,但是他们/它确实解决了这个问题.问题出现在Python(x,y)2.7.5.1中.你的旅费可能会改变.