Python 安装mayavi时出错,退出状态为-11

Python 安装mayavi时出错,退出状态为-11,python,python-3.x,pip,mayavi,Python,Python 3.x,Pip,Mayavi,在Fedora31上,我尝试用pip安装mayavi pip install mayavi 但是,出现以下错误 Building wheel for mayavi (setup.py) ... error ERROR: Command errored out with exit status -11: command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'&

在Fedora31上,我尝试用pip安装mayavi

pip install mayavi
但是,出现以下错误

  Building wheel for mayavi (setup.py) ... error
  ERROR: Command errored out with exit status -11:
   command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4s7scony/mayavi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-4s7scony/mayavi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-ggg3s_hz
       cwd: /tmp/pip-install-4s7scony/mayavi/
  Complete output (55 lines):
  running bdist_wheel
  running build
  ----------------------------------------------------------------------
  Building TVTK classes... vtkContextDevice2D: Ignoring method: Get/SetViewportRect
  default: [0, 0, 0, 0], range: None
  vtkContextDevice2D: Ignoring method: Get/SetViewportSize
  default: [0, 0], range: None
  vtkEventDataForDevice: Ignoring method: Get/SetAction
  default: -1, range: None
  vtkEventDataForDevice: Ignoring method: Get/SetDevice
  default: -1, range: None
  vtkFXAAOptions: Ignoring method: Get/SetDebugOptionValue
  default: 0, range: None
  vtkIncrementalForceLayout: Ignoring method: Get/SetGravityPoint
  default: [200.0, 200.0], range: None
  vtkOpenGLBufferObject: Ignoring method: Get/SetType
  default: 0, range: None
  vtkOpenGLFXAAFilter: Ignoring method: Get/SetDebugOptionValue
  default: 0, range: None
  vtkRenderWidget: Ignoring method: Get/SetPosition
  default: [0, 0], range: None
  vtkRenderWidget: Ignoring method: Get/SetSize
  default: [300, 300], range: None
  vtkShader: Ignoring method: Get/SetType
  default: 3, range: None
  vtkVolumeTexture: Ignoring method: Get/SetPartitions
  default: [1, 1, 1], range: None
  vtkChartMatrix: Ignoring method: Get/SetGutter
  default: [15.0, 15.0], range: None
  vtkChartMatrix: Ignoring method: Get/SetSize
  default: [0, 0], range: None
  vtkContextArea: Ignoring method: Get/SetDrawAreaBounds
  default: [0.0, 0.0, 300.0, 300.0], range: None
  vtkContextArea: Ignoring method: Get/SetDrawAreaResizeBehavior
  default: 0, range: None
  vtkContextArea: Ignoring method: Get/SetFixedMargins
  default: [0, 0, 0, 0], range: None
  vtkContextArea: Ignoring method: Get/SetFixedRect
  default: [0, 0, 300, 300], range: None
  vtkContextArea: Ignoring method: Get/SetGeometry
  default: [0, 0, 300, 300], range: None
  vtkImplicitProjectOnPlaneDistance: Ignoring method: Get/SetNorm
  default: 2, range: None
  vtkOpenGLVertexBufferObject: Ignoring method: Get/SetCoordShiftAndScaleMethod
  default: 0, range: None
  vtkSimple3DCirclesStrategy: Ignoring method: Get/SetMarkedValue
  default: (invalid), range: None
  vtkArrayNorm: Ignoring method: Get/SetWindow
  default: [0, 9223372036854775807), range: None
  vtkChart: Ignoring method: Get/SetSize
  default: [0.0, 0.0, 0.0, 0.0], range: None
  vtkChartXYZ: Ignoring method: Get/SetAxisColor
  default: [0, 0, 0, 255], range: None
  Warning: We cannot determine the trait type of vtkHigherOrderHexahedron.Order
  Warning: We cannot determine the trait type of vtkHigherOrderQuadrilateral.Order
  ----------------------------------------
  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 -11:
     command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4s7scony/mayavi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-4s7scony/mayavi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-wln7h1zu/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/imsantos/.local/include/python3.7m/mayavi
         cwd: /tmp/pip-install-4s7scony/mayavi/
    Complete output (55 lines):
    running install
    running build
    ----------------------------------------------------------------------
    Building TVTK classes... vtkContextDevice2D: Ignoring method: Get/SetViewportRect
    default: [0, 0, 0, 0], range: None
    vtkContextDevice2D: Ignoring method: Get/SetViewportSize
    default: [0, 0], range: None
    vtkEventDataForDevice: Ignoring method: Get/SetAction
    default: -1, range: None
    vtkEventDataForDevice: Ignoring method: Get/SetDevice
    default: -1, range: None
    vtkFXAAOptions: Ignoring method: Get/SetDebugOptionValue
    default: 0, range: None
    vtkIncrementalForceLayout: Ignoring method: Get/SetGravityPoint
    default: [200.0, 200.0], range: None
    vtkOpenGLBufferObject: Ignoring method: Get/SetType
    default: 0, range: None
    vtkOpenGLFXAAFilter: Ignoring method: Get/SetDebugOptionValue
    default: 0, range: None
    vtkRenderWidget: Ignoring method: Get/SetPosition
    default: [0, 0], range: None
    vtkRenderWidget: Ignoring method: Get/SetSize
    default: [300, 300], range: None
    vtkShader: Ignoring method: Get/SetType
    default: 3, range: None
    vtkVolumeTexture: Ignoring method: Get/SetPartitions
    default: [1, 1, 1], range: None
    vtkChartMatrix: Ignoring method: Get/SetGutter
    default: [15.0, 15.0], range: None
    vtkChartMatrix: Ignoring method: Get/SetSize
    default: [0, 0], range: None
    vtkContextArea: Ignoring method: Get/SetDrawAreaBounds
    default: [0.0, 0.0, 300.0, 300.0], range: None
    vtkContextArea: Ignoring method: Get/SetDrawAreaResizeBehavior
    default: 0, range: None
    vtkContextArea: Ignoring method: Get/SetFixedMargins
    default: [0, 0, 0, 0], range: None
    vtkContextArea: Ignoring method: Get/SetFixedRect
    default: [0, 0, 300, 300], range: None
    vtkContextArea: Ignoring method: Get/SetGeometry
    default: [0, 0, 300, 300], range: None
    vtkImplicitProjectOnPlaneDistance: Ignoring method: Get/SetNorm
    default: 2, range: None
    vtkOpenGLVertexBufferObject: Ignoring method: Get/SetCoordShiftAndScaleMethod
    default: 0, range: None
    vtkSimple3DCirclesStrategy: Ignoring method: Get/SetMarkedValue
    default: (invalid), range: None
    vtkArrayNorm: Ignoring method: Get/SetWindow
    default: [0, 9223372036854775807), range: None
    vtkChart: Ignoring method: Get/SetSize
    default: [0.0, 0.0, 0.0, 0.0], range: None
    vtkChartXYZ: Ignoring method: Get/SetAxisColor
    default: [0, 0, 0, 255], range: None
    Warning: We cannot determine the trait type of vtkHigherOrderHexahedron.Order
    Warning: We cannot determine the trait type of vtkHigherOrderQuadrilateral.Order
    ----------------------------------------
ERROR: Command errored out with exit status -11: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4s7scony/mayavi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-4s7scony/mayavi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-wln7h1zu/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/imsantos/.local/include/python3.7m/mayavi Check the logs for full command output.
执行python-c“import vtk”不会引发错误。与
PyQt5
相同

运行

import vtk
vtk.VTK_SOURCE_VERSION
表示我正在使用vtk 9.0.1版

$PYTHONPATH
为空

以sudo运行不会改变错误。我还尝试了
python3-mpipinstallmayavi
,得到了相同的结果


如何使用pip安装mayavi?

我在Ubuntu 20.04上也遇到过同样的问题。我无法从pypi安装。我必须获得源代码并通过git安装:

pip install git+https://github.com/enthought/mayavi.git
这里也有类似的问题。这个问题的暗示是vtk特性

无论出于何种原因,vtk版本可通过以下方式找到:

import vtk
vtk.VTK_SOURCE_VERSION

问题是您正在使用的vtk版本。我也有同样的问题,下面的方法对我有效:

pip3安装vtk==8.1.2

请注意,此版本的vtk不适用于3.8及更高版本的Python,因此如果您使用3.8,我不确定解决方法是什么。我用的是3.7

然后,再次尝试安装mayavi


pip3安装mayavi

您使用的是什么版本的vtk?@jakub-vtk 9.0.1