Get mayavi working with Python 3

2020-02-26 07:38发布

问题:

I'm having trouble running mayavi in python 3.3

When running my program with python3 (or python3.3) i get

from mayavi import mlab as ml
ImportError: No module named 'mayavi'

To get numpy and matplotlib to work, i used:

sudo apt-get install python3-"missing module"

But the usual way to install mayavi is just

sudo apt-get install mayavi2

And python3 doesn't find it....

Does anyone know a way to get mayavi to work with Python3? Is it not supported yet?

I have tried both

import mayavi.mlab as ml
from mayavi import mlab as ml

Both give me the same error

Any clarification would be greatly appreciated :)

回答1:

Today, Mayavi is not supported in python3.

  • http://www.vtk.org/Wiki/VTK/Python_Wrapping_FAQ
  • http://www.vtk.org/Wiki/VTK/Python_Wrapper_Enhancement#Python_3

See also this github issue:

https://github.com/enthought/mayavi/issues/84



回答2:

Mayavi can work with python 3 now. You will need VTK 7.0 or higher compiled for python 3 support. Then you can just install mayavi with pip. pip install mayavi

Installing vtk may prove somewhat difficult. You need to make sure to change the PYTHONPATH variable, and build vtk with tcl, tk, and python 3 support.



回答3:

I was able to get Mayavi2 to work with Python 3.6.4.

To set up Mayavi on ubuntu, do the following -

  • Install Anaconda/Miniconda distribution of python depending on your needs(I used Miniconda 4.3.30). For more info look here
  • Run the following in terminal -

        apt-get install -y libglib2.0-0 libxext6 libsm6 libxrender1 gtk3.0
        conda install -y -c conda-forge qt vtk pyvtk pyside envisage mesalib mayavi
        conda install -y -c ajsrk traitsui
    

    Ideally , you wouldn't need the last line since traitsui will be installed as part of the dependencies in the previous step. However, I found an issue with this version of traitsui. So as a temporary fix, I have uploaded my version of traitsui into anaconda cloud; this can be used until the fix finds its way into the next release and is available in the conda-forge channel

To verify the installation start a terminal session and type 'mayavi2'



回答4:

The best solution that I`ve found, is this. Even though, Mayavi will only work on Pyathon 3.5...