Setting up VTK, with python3.8 and Ubuntu 20.04

Question:

I recently updated my system to Ubunutu 20.04, and my python is now 3.8. Since then all my import vtk lines don’t work,

ModuleNotFoundError: No module named 'vtk'

I have tried apt-get python-vtk, pip3 install vtk and pretty much all the standard terminal install commands. Without fail they all are unable to locate the package. I have been searching for ways to sort this out all over the net, but without success.

I am familiar with building Kitware (Cmake and Paraivew) stuff from source so I did so:

git clone https://github.com/Kitware/VTK.git
mkdir VTK/build
cd VTK/build
ccmake .. 
make 
make install

some relevant cmake options are BUILD_SHARED_LIBS=ON, CMAKE_BUILD_TYPE=Release, CMAKE_INSTALL_PREFIX=/usr/local, python3_EXECUTABLE=/usr/bin/python3.8, VTK_WRAP_PYTHON=ON, Python3_INCLUDE_DIR=/usr/include/python3.8, Python3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so, and VTK_PYTHON_OPTIONAL_LINK=ON.

I am able to build it, and I assume I am supposed to turn on python wrapping. Once installed I find I am still unable to get python files to run, still get the same error as mentioned above. I feel like I just need to tell python where to go to get the vtk module, is this correct? If so, where is it and what is its name and how do my make python link to it? Or am I missing something or doing something really stupid?

If there is an apt-get or pip3 install way of doing this that would be preferable, but I think I have exhausted all attempts found by google searching.

Thanks in advance.

Asked By: Bevan Jones

||

Answers:

Use apt-get install python3-vtk7 (https://packages.ubuntu.com/focal/python3-vtk7) for ubuntu 20.04.

The python-vtk package is only available for ubuntu 16.04 (https://packages.ubuntu.com/xenial/python-vtk).

There are no vtk pip wheels for python 3.8, though they do exist for older versions of python. See https://pypi.org/project/vtk/#files

Answered By: jakub

I was having your same problem: I have built VTK from Kitware but then I got error importing vtk in python. I fixed adding vtk in $PYTHONPATH, you should find it under VTK/build/lib . Everything works fine for me now!

EDIT: I found also that on the Kitware site the wheels for python3.8 are available, then:
pip3 install https://www.vtk.org/files/release/9.0/vtk-9.0.0-cp38-cp38-linux_x86_64.whl
should work as well

Answered By: wahidredjeb

Latest version is 9 so

sudo apt install vtk9
Answered By: Adam
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.