如何将Python3安装的VTK包含到setup.py中?
问题描述:
无法通过pip
安装VTK库。 虽然它可以从源代码编译和安装。如何将Python3安装的VTK包含到setup.py中?
我的Python项目依赖于VTK。 我希望它通过从项目的根目录调用pip install .
来自动安装VTK。 在这种情况下setup.py
文件应该能够所需版本
- 下载VTK源从GitHub
- 呼叫
cmake
为了准备建立 - 编译源代码和创建Python绑定
- 安装所需文件到目前使用
site-packages
(例如,如果我使用virtualenv
,pipenv
或pyenv
,则不应该将其安装到/usr/local/lib/python3/site-packages
中)
可能吗? 如果是,我该怎么做?
答
原则上,您可以在安装文件中包含任何可执行代码。然而,在setuptools documentation的哪个地方我找不到可以解决问题的信息。
此外,vtk的安装过程有点复杂,这就是kitware首先使用cmake的原因。
所以,简短的答案是“不”或“不这样做”。
而且,这些问题你会遇到:
用户会期待一个透明的安装。但是,基于cmake构建vtk指令来实现跨平台构建过程将阻止您设置自定义(vtk路径,Python解释器路径,特定于平台的C标志)。
安装过程将更难调试。用户会因VTK构建问题而来找你。
Kitware themselve不建议在pypi上使用vtk。这表明,要实现这一目标需要太多的时间,不可能或太脆弱。
如果你想看到一个流行的Python项目依赖于vtk,mayavi。 installation instructions请求事先安装vtk。