learn vtk by Python script on mac

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/theArcticOcean/article/details/83210981

之前写过一篇文章:learn vtk by Tcl script on mac
本文介绍vtk的Python学习环境的创建。

j基础环境:
VTK-8.1.1
macOS Mojave 10.14
Python 2.7.10

build vtk,CMake一下:

cmake ./ -G "Unix Makefiles" \
-DVTK_USE_QVTK:BOOL=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DVTK_USE_GUISUPPORT:BOOL=ON \
-DVTK_QT_VERSION=5 \
-DModule_vtkGUISupportQt:BOOL=ON \
-DModule_vtkGUISupportQtOpenGL:BOOL=ON \
-DModule_vtkGUISupportQtSQL:BOOL=ON \
-DModule_vtkGUISupportQtWebkit:BOOL=OFF \
-DModule_vtkRenderingQt:BOOL=ON \
-DModule_vtkViewsQt:BOOL=ON \
-DVTK_WRAP_TCL:BOOL=ON \
-DTK_INTERNAL_PATH:PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/tk-private \
-DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_PYTHON_VERSION=2.7.10 \
-DPYTHON_EXECUTABLE=/usr/bin/python \
-DPYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/python2.7

值得注意的是,和learn vtk by Tcl script on mac介绍的不同,我们不再使用TCL_INTERNAL_PATH=/Users/weiyang/Downloads/VTK-8.1.1/ThirdParty/TclTk/internals/tk8.6,因为在系统升级到macOS Mojave 10.14后,基础环境已经发生了变化。
后面的4个定义全和Python相关,其中PYTHON_INCLUDE_DIR代表的路径含有各种C/C++头文件。
接着,我们make一下。
sudo make install.
最终会看到类似于这样的信息:

...
-- Installing: /usr/local/lib/python2.7/site-packages/vtk/vtkImagingMorphologicalPython.so
...
-- Installing: /usr/local/lib/python2.7/site-packages/vtk/vtkViewsInfovisPython.so
-- Installing: /usr/local/bin/vtkpython

现在可以试着使用vtkpython来运行一份vtk python脚本,有可能报错:ImportError: No module named vtkCommonCorePython
这需要我们设置好PYTHONPPATH变量,用于查找python库文件

export PYTHONPATH="/usr/local/lib/python2.7/site-packages":"/usr/local/lib/p ython2.7/site-packages/vtk"

再次运行,你可能还会遇到这样的错误提示:
python Library not loaded: @rpath/QtWidgets.framework/Versions/5/QtWidgets
这需要我们设置好DYLD_FRAMEWORK_PATH变量,用于查找qt库文件

export DYLD_FRAMEWORK_PATH=$DYLD_FRAMEWORK_PATH:/Users/weiyang/Qt5.9.2/5.9.2 /clang_64/lib

我们可以将这些命令都写入~/.bashrc中,需要的时候source ~/.bashrc一下。
之后就能使用vtkpython解释运行vtk python脚本了。

好了,现在可以通过C plus plus,Tcl script,Python Script来学习VTK了。
一些入门级代码:
【VTK】python简单绘制
【VTK】TCL简单绘制
【VTK】C++ 简单绘制

猜你喜欢

转载自blog.csdn.net/theArcticOcean/article/details/83210981