我正在尝试在运行 Fedora 26 的桌面工作站上安装 Mayavi。它在 Python 2 (2.7.13) 中工作正常,但在 Python 3 (3.6.2) 中则不然,安装失败,因为 Python 找不到 module vtk
。我已经安装了我认为需要的所有软件包(因此它可以与 Python 2 一起使用)。例如
$ rpm -qa | grep -i vtk
vtk-qt-7.1.1-3.fc26.x86_64
vtk-python-7.1.1-3.fc26.x86_64
vtk-qt-python-7.1.1-3.fc26.x86_64
vtk-7.1.1-3.fc26.x86_64
vtk-java-7.1.1-3.fc26.x86_64
vtk-devel-7.1.1-3.fc26.x86_64
vtk-tcl-7.1.1-3.fc26.x86_64
vtk-qt-tcl-7.1.1-3.fc26.x86_64
但是 Python 3 无法看到 VTK,而 Python 2 可以。
$ python2 -c "import vtk"
$ python3 -c "import vtk"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'vtk'
现在,据我所知,VTK 直到 2015 年底/2016 年初才支持 Python 3。但我认为它已经有一年的时间渗透到各种系统中了……
我尝试查看安装文件,看看是否可以找到更多信息。 find /usr/lib64/vtk/ | grep -i python
出现了一堆Python27D
文件名中包含的库,我注意到相应地缺少任何带有Python3
.同样,有一个文件夹/usr/lib64/python2.7/site-packages/vtk/
,但python3.5
或下没有任何内容python3.6
。
Fedora 上的 Python 3 是否不支持 VTK(无论如何,通过存储库)?
答案1
Fedora 上的 Python 3 是否不支持 VTK(无论如何,通过存储库)?
从规范文件中可以看出,它似乎没有针对 Python3 进行打包:
https://apps.fedoraproject.org/packages/vtk-python/sources/spec/
但这并不意味着它无法修复。如果可能的话,Fedora 中的所有 python 软件包都应该针对 python 2 和 3 构建,因此如果您需要 python 3 软件包,您至少可以做的是填补 vtk 软件包上的错误。更好的方法是同时提交补丁,但这需要一些有关 Fedora 打包的知识(但如果您使用 Fedora,了解无论如何都是一件好事)。