VTK库无法通过pip
安装。不过,它可以从源代码进行编译和安装。
我的Python项目依赖于VTK。我希望它通过从项目的根目录调用pip install .
来自动安装VTK。在这种情况下,setup.py
文件应该能够
- 从GitHub下载所需版本的VTK源代码
- 调用
cmake
以准备生成 - 编译源代码并创建Python绑定
- 将所需文件安装到当前使用的
site-packages
中(例如,如果我使用virtualenv
、pipenv
或pyenv
,则不应将其安装到/usr/local/lib/python3/site-packages
中)
有可能吗?如果是,我该怎么做?
原则上,您可以在设置文件中包含任何可执行代码。但是,在setuptools文档中,我找不到可以解决此问题的信息。
此外,vtk的安装过程有点复杂,这就是为什么kitware首先使用cmake的原因。
因此,简短的回答是"不"或"不要那样做"。
此外,您将遇到的问题:
-
用户将期望透明安装。但是,在vtk的cmake构建指令的基础上实现跨平台构建过程将阻止您设置自定义(vtk的路径、Python解释器的路径、特定于平台的C标志)。
-
安装过程将更难调试。用户会来找你解决VTK构建问题。
-
厨具本身并不建议在pypi上使用vtk。这表明,要实现这一目标需要太多的时间、不可能或太脆弱。
如果你想看到一个流行的依赖vtk的Python项目,有mayavi。安装说明要求事先安装vtk。
看起来VTK已经通过pypi提供了他们的官方绑定,所以我可以在setup.py
文件中使用它,只需将它附加到install_requires
列表中即可。在我的项目中运行良好,不再需要编译。
不过,mayavi文档中有一条警告
所有主要平台都提供最新的VTK车轮(Windows、MacOS和Linux),但仅适用于64位机器。Python 3.x在所有这些操作系统上都完全支持,在MacOS和Linux。如果你运气不好,而你的平台不是支持,则您需要使用一般构建和安装说明