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.