如何将VTK for Python3安装包含到setup.py中?

时间:2017-10-18 10:14:35

标签: python python-3.x pip setuptools vtk

无法通过pip安装VTK库。 但是,它可以从源代码编译和安装。

我的Python项目依赖于VTK。 我希望它通过从项目的根目录调用pip install .来自动安装VTK。 在这种情况下,setup.py文件应该能够

  • 从GitHub下载所需版本的VTK来源
  • 致电cmake以准备构建
  • 编译源代码并创建Python绑定
  • 将所需文件安装到当前使用的site-packages中(例如,如果我使用/usr/local/lib/python3/site-packagesvirtualenvpipenv,则不应将其安装到pyenv中< / LI>

有可能吗? 如果是,我该怎么做?

2 个答案:

答案 0 :(得分:1)

原则上,您可以在安装文件中包含任何可执行代码。但是,setuptools documentation无处可以找到解决问题的信息。

此外,vtk的安装过程有点复杂,这就是kitware首先使用cmake的原因。

所以,简短的回答是&#34; no&#34;或者&#34;不要这样做&#34;。

此外,您将遇到的问题:

  1. 用户希望透明安装。但是,基于vtk的cmake构建指令实现跨平台构建过程将阻止您设置自定义(vtk的路径,Python解释器的路径,特定于平台的C标志)。

  2. 安装过程将难以调试。用户将来找你VTK构建问题。

  3. Kitware themselve不建议在pypi上使用vtk。这表明,为实现这一目标,维持时间过长,不可能或太脆弱。

  4. 如果你希望看到一个依赖于vtk的流行Python项目,那就有mayavi。 installation instructions预先安装vtk的请求。

答案 1 :(得分:0)

看起来VTK通过pypi展示了official binding,因此只需将其附加到setup.py列表中,我就可以在install_requires文件中使用它。 在我的项目中运行良好,不再需要编译。

尽管如此,mayavi documentation

中还是要小心
  

所有主要平台上均提供了最新的VTK车轮   (Windows,MacOS和Linux),但仅适用于64位计算机。 Python 3.x   所有这些操作系统都完全支持,而python 2.7.x完全受支持   MacOS和Linux。如果您不走运,而您的平台不是   支持,那么您将需要使用自己安装VTK   总体构建和讨论中讨论的特定分布   安装说明