enthought / mayavi

3D visualization of scientific data in Python
http://docs.enthought.com/mayavi/mayavi/
Other
1.3k stars 284 forks source link

Mayavi not installing on binder OR Colab #1151

Closed Dr-Walker closed 2 years ago

Dr-Walker commented 2 years ago

I have been trying for ages to get this to work, like over a year and still doesnt work. When I try and install Mayavi it always fails to build the wheel. Below I have attached the output from colab, but I get similar issues in binder. It works fine if I run from my local machine but I want to run it from github. I have installed matplotlib, scipy, vtk 9.1.0, pyQT5, libvtk6-dev, libpq5 is there something I am missing?

Collecting mayavi
  Using cached mayavi-4.7.4.tar.gz (7.1 MB)
Requirement already satisfied: apptools in /usr/local/lib/python3.7/dist-packages (from mayavi) (5.1.0)
Requirement already satisfied: envisage in /usr/local/lib/python3.7/dist-packages (from mayavi) (6.0.1)
Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from mayavi) (1.21.6)
Requirement already satisfied: pyface>=6.1.1 in /usr/local/lib/python3.7/dist-packages (from mayavi) (7.4.1)
Requirement already satisfied: pygments in /usr/local/lib/python3.7/dist-packages (from mayavi) (2.6.1)
Requirement already satisfied: traits>=6.0.0 in /usr/local/lib/python3.7/dist-packages (from mayavi) (6.3.2)
Requirement already satisfied: traitsui>=7.0.0 in /usr/local/lib/python3.7/dist-packages (from mayavi) (7.3.1)
Requirement already satisfied: vtk in /usr/local/lib/python3.7/dist-packages (from mayavi) (9.1.0)
Requirement already satisfied: importlib-resources>=1.1.0 in /usr/local/lib/python3.7/dist-packages (from pyface>=6.1.1->mayavi) (5.7.1)
Requirement already satisfied: importlib-metadata>=3.6.0 in /usr/local/lib/python3.7/dist-packages (from pyface>=6.1.1->mayavi) (4.11.3)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=3.6.0->pyface>=6.1.1->mayavi) (3.8.0)
Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=3.6.0->pyface>=6.1.1->mayavi) (4.2.0)
Requirement already satisfied: configobj in /usr/local/lib/python3.7/dist-packages (from apptools->mayavi) (5.0.6)
Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from configobj->apptools->mayavi) (1.15.0)
Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from envisage->mayavi) (57.4.0)
Requirement already satisfied: wslink>=1.0.4 in /usr/local/lib/python3.7/dist-packages (from vtk->mayavi) (1.6.4)
Requirement already satisfied: matplotlib>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from vtk->mayavi) (3.2.2)
Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib>=2.0.0->vtk->mayavi) (2.8.2)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib>=2.0.0->vtk->mayavi) (3.0.9)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib>=2.0.0->vtk->mayavi) (0.11.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib>=2.0.0->vtk->mayavi) (1.4.2)
Requirement already satisfied: aiohttp in /usr/local/lib/python3.7/dist-packages (from wslink>=1.0.4->vtk->mayavi) (3.8.1)
Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.7/dist-packages (from aiohttp->wslink>=1.0.4->vtk->mayavi) (1.3.0)
Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.7/dist-packages (from aiohttp->wslink>=1.0.4->vtk->mayavi) (2.0.12)
Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.7/dist-packages (from aiohttp->wslink>=1.0.4->vtk->mayavi) (1.7.2)
Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.7/dist-packages (from aiohttp->wslink>=1.0.4->vtk->mayavi) (6.0.2)
Requirement already satisfied: asynctest==0.13.0 in /usr/local/lib/python3.7/dist-packages (from aiohttp->wslink>=1.0.4->vtk->mayavi) (0.13.0)
Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.7/dist-packages (from aiohttp->wslink>=1.0.4->vtk->mayavi) (1.2.0)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.7/dist-packages (from aiohttp->wslink>=1.0.4->vtk->mayavi) (4.0.2)
Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.7/dist-packages (from aiohttp->wslink>=1.0.4->vtk->mayavi) (21.4.0)
Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.7/dist-packages (from yarl<2.0,>=1.0->aiohttp->wslink>=1.0.4->vtk->mayavi) (2.10)
Building wheels for collected packages: mayavi
  Building wheel for mayavi (setup.py) ... error
  ERROR: Failed building wheel for mayavi
  Running setup.py clean for mayavi
Failed to build mayavi
Installing collected packages: mayavi
    Running setup.py install for mayavi ... error
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-hz7b0iwa/mayavi_15dc355641ea44a6b3094a59a564de4d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-hz7b0iwa/mayavi_15dc355641ea44a6b3094a59a564de4d/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dj_vci6y/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.7/mayavi Check the logs for full command output
prabhuramachandran commented 2 years ago

Sorry for the slow response. Yes, this was an issue since Mayavi tries (unnecessarily) to build the documentation which requires access to a windowing system. I've fixed this in https://github.com/enthought/mayavi/pull/1133 and this should be fixed in the upcoming Mayavi-4.8.0 release. Please reopen if this is still not resolved. I have also added a CI test to ensure that Mayavi is installable on headless servers.