Freezing PyVista with PyInstaller#
You can make some fantastic standalone programs with pyinstaller
and pyvista, and you can even make a graphical user interface
incorporating PyQt5 or pyside2. Depending on your version of
VTK, this requires some extra steps to setup.
When running VTK v9, you need to add several additional
hiddenimports. For clarity and completeness, create a spec file
(we’ll name it pyvista.spec) following the directions given at
Using Spec Files. Modify the Analysis and add the following hidden imports:
main_py = os.path.join(some_path, "main.py")
a = Analysis(
[main_py],
pathex=[],
binaries=[],
hiddenimports=[
"vtkmodules",
"vtkmodules.all",
"vtkmodules.qt.QVTKRenderWindowInteractor",
"vtkmodules.util",
"vtkmodules.util.numpy_support",
"vtkmodules.numpy_interface.dataset_adapter",
],
)
From there, you can freeze an application using pyvista and create
a standalone application.