learn vtk by Python script on mac
阿新 • • 發佈:2018-12-16
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指令碼了。