我正在尝试为 python 安装 VTK 模块,但是我没有成功。我已经下载了一个 VTK tar 文件,但我无法解压它。我能够提取其他 tar 文件,所以我想这个文件一定有一些特定的东西。
这是我的错误:
gzip:标准输入:无效的压缩数据——违反格式 tar:子返回状态 1 tar:错误不可恢复:现在退出
我希望有人可以帮助我解决这个问题。
答案取决于您使用的操作系统。如果您可以找到适用于您的特定操作系统和/或发行版的软件包或安装程序,这将容易得多。
如果您使用的是 Linux,则在发行版的包管理器中查找相应的包。例如,在 Ubuntu Linux 上,您应该能够使用以下命令安装它:
sudo apt-get install python-vtk
如果您使用的是 Microsoft Windows,最简单的方法是安装Python(x,y)。它带有VTK支持。
此外,Anaconda还包括 VTK 包以及对虚拟环境的支持。对于某些人来说,这可能是一个不错的选择。
如果您使用的是 Mac OS X,请尝试通过MacPorts安装所有内容。
正如@Nil 在下面的评论中提到的,VTK 开发人员现在提供了 VTK 的独立 python 接口。您可以从此处下载适用于 Windows、Darwin 和 Linux 的它。
正如@Nil 所提到的,VTK 曾经在其下载页面上提供vtkpython
二进制文件。但是,自此处提到的 VTK-8.xx 以来,他们已经放弃了这个:
对于那个很抱歉。我们决定放弃 8 的 vtkpython 二进制文件。我想把精力集中在支持 python 轮子安装上。目前还没有完整解决方案的时间表,但我们最近在这方面取得了一些良好进展:https ://github.com/jcfr/VTKPythonPackage 。
因此,vtkpython
现在推荐的安装方式是(请参阅此页面):
$ python -m pip install --upgrade pip
$ python -m pip install vtk
在 Ubuntu 上,也许这篇文章会有所帮助: http: //kazenotaiyo.blogspot.jp/2010/06/installing-vtk-in-ubuntu-and-making.html
第一个也是最简单的方法是使用 Aptitude 包管理器安装包:
sudo apt-get install libvtk5-dev python-vtk
如果你想要最新版本的VTK,你也可以自己构建:
确保已安装 CMake:
sudo apt-get install cmake
从下载页面下载 VTK 源代码。
解压它:
tar xvzf vtk-5.6.0.tar.gz
创建一个 Out-Of-Source 构建并使用 CMake 进行配置:
mkdir VTK_BUILD
cd VTK_BUILD
ccmake ../VTK
确保启用 python 包装并将安装前缀设置为您希望包去的位置。默认的 /usr/local 可以正常工作。
sudo make -j 8 install
( -j 8 for make 只是让构建过程并行假设你有它的处理器)
您现在已经安装了 VTK。恭喜!如果你尝试运行 vtkpython,你会得到一个错误:
vtkpython:加载共享库时出错:libvtksys.so.5.6:无法打开共享对象文件:没有这样的文件或目录
要解决此问题,请将这些行附加到主目录中的 .bash_profile、.bashrc 或 .profile 文件中:
# add vtk paths
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib/vtk-5.6"
PYTHONPATH="$PYTHONPATH:/usr/local/lib/vtk-5.6"
您现在需要重置终端。
这将为 vtkpython 可执行文件设置您的库和 python 路径。
我在win7下通过以下方式安装了vtk没有问题pip
:
> pip install vtk
Collecting vtk
Downloading vtk-8.1.0-cp36-cp36m-win_amd64.whl (24.4MB)
100% |████████████████████████████████| 24.4MB 56kB/s
Installing collected packages: vtk
Successfully installed vtk-8.1.0
使用蟒蛇蟒:
> python
Python 3.6.1 |Continuum Analytics, Inc.| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.