使用Python 3让Mayavi正常工作

13

我在Python 3.3中运行Mayavi时遇到了问题。

当我使用Python3(或Python3.3)运行我的程序时,我会得到以下错误:

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

为了让 numpy 和 matplotlib 正常工作,我使用了:

sudo apt-get install python3-"missing module"

但是安装mayavi的常规方式只是执行以下命令:

sudo apt-get install mayavi2

而 Python3 找不到它....

有人知道如何让 mayavi 与 Python3 兼容吗? 它还没有支持吗?

我已经尝试过两种方法。

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

两者给我相同的错误。

如果有任何澄清,将不胜感激 :)


1
特质(Traits)几乎没有移植到Python 3,Mayavi还有一段路要走。 - aestrivex
5个回答

14
Mayavi现在可以与Python 3一起使用。您需要编译支持Python 3的VTK 7.0或更高版本。然后,您只需使用pip安装mayavi。pip install mayavi 安装vtk可能会有些困难。您需要确保更改PYTHONPATH变量,并使用tcl、tk和Python 3支持构建vtk。


0

我的解决方案是从Anaconda 3启动Spider,然后运行可以在目录Anaconda/Scripts中找到的文件mayavi2-script.py。它会在Windows10中启动3D数据可视化器作为弹出窗口。


0
我找到的最佳解决方案是this。尽管Mayavi只能在Python 3.5上运行...

0

我已经成功将Mayavi2与Python 3.6.4配合使用。

要在Ubuntu上安装Mayavi,请按照以下步骤进行 -

  • 根据您的需求安装Anaconda/Miniconda Python发行版(我使用的是Miniconda 4.3.30)。更多信息请参见此处
  • 在终端中运行以下命令 -

        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
    

    理想情况下,您不需要最后一行,因为traitsui将作为前一步骤中的依赖项之一安装。然而,我发现这个版本的traitsui存在问题。因此,作为临时解决方案,我将我的traitsui版本上传到anaconda云中;在修复程序进入下一个版本并在conda-forge频道中可用之前,可以使用它。

为了验证安装,请启动终端会话并键入 'mayavi2'。


1
Python已降级至3.5版本...因此,在3.6版本上仍无法运行。 - Gabs
@Gabs - 你是说即使尝试了上述步骤,仍然无法使其工作吗? - Savvy
它可以工作,但Python被降级到3.5版本。此外,我失去了之前安装的所有软件包。 - Gabs
这不应该发生,通常当您尝试安装具有无法解决的依赖关系的软件包时,安装将失败,否则可能会升级或降级某些现有软件包以使其正常工作。但它永远不会卸载任何现有的软件包。而且,我不知道 Python 是否会被降级...我想您可能已经拥有一个预先安装的Python 3.5.x版本。如果是这种情况,您必须首先从适当的Anaconda安装程序安装Python 3.6.x版本。顺便问一下,您的操作系统是什么? - Savvy
我的操作系统是Elementary OS Loki(Ubuntu 16.04)。你的操作系统是什么? - Gabs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接