0
点赞
收藏
分享

微信扫一扫

learn vtk by Python script on mac


之前写过一篇文章:​​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++ 简单绘制 ​​


举报

相关推荐

0 条评论