Это напрямую связано с https://github.com/enoughtt/mayavi/issues/939 и тем фактом, что колеса vtk 8 недоступны для Python 3.9. Я не уверен, что колеса vtk 8 не могут быть созданы для Python 3.8 или не были созданы для Python 3.8.
Есть патч для исходного кода VTK 8.2, чтобы сделать его совместимым с Python 3.8 (и, вероятно, Python 3.9). Исправления уже были применены к исходному тексту VTK 9.0 (похоже, что версия VTK 8.3 не находится в разработке). Однако есть проблемы совместимости Mayavi с VTK 9.0, о которых, как мне известно, сообщалось отдельно здесь, и над ними работают (спасибо!).
См. Проблему VTK (и ссылку для загрузки патча в ней): https://gitlab.kitware.com/vtk/vtk/-/issues/17670
Я могу подтвердить, что этот патч позволяет мне собрать VTK 8.2 против Python 3.8.3 (и QT5.14.2, PyQt5-5.13.2, NumPy 1.19.0 / MKL2020.1) и он работает с Mayavi 4.7.1. Протестировано на Ubuntu 16.04, 18.04, 20.04 и MacOSX Catalina 10.15.5 (нет тестирования на Windows 10, только WSL 2, который хорошо работает).
Это должно быть исправлено в последней версии master
Это решено для меня. Вот как это делается:
brew install vtk
$ git clone https://github.com/enthought/mayavi.git
mayavi/requirements.txt
удалите строку vtk
mayavi/mayavi/__init__.py
удалить 'vtk'
из __requires__
Затем завершите установку в соответствии с инструкциями:
$ pip install -r requirements.txt
$ pip install PyQt5 # replace this with any supported toolkit
$ python setup.py install # or develop
Самый полезный комментарий
Это решено для меня. Вот как это делается:
brew install vtk
$ git clone https://github.com/enthought/mayavi.git
mayavi/requirements.txt
удалите строкуvtk
mayavi/mayavi/__init__.py
удалить'vtk'
из__requires__
Затем завершите установку в соответствии с инструкциями: