pyANSYS|干掉一個BUG

最近在使用pyMAPDL,其中涉及到將前后處理結果輸出(如幾何、網格及后處理物理量等),然后被一個錯誤卡了很久。期間又是換python版本,又是整虛擬環境的,啥用都沒有,后面發現是pyansys的程序寫得有問題。

1 問題描述

錯誤提示如下圖所示,提示內容為提示cannot import name 'VTK9' from from 'pyvista._vtk'。后面發現這個錯誤不只是在pyMAPDL中,在pyFluent中也會出現。

pyANSYS|干掉一個BUG的圖1

看錯誤提示似乎是說在pyvista._vtk中找不到VTK9。打開_vtk.py文件,的確找不到任何與VTK9有關的內容。

繼續搜索,發現問題是出在mesh.py文件中,是該文件想要從pyvista._vtk中導入VTK9。

pyANSYS|干掉一個BUG的圖2

2 解決問題

分析代碼后推測,mehs.py文件中的VTK9是用來獲取當前環境中安裝的VTK版本的,后面按此思路該原始代碼。

打開mesh.py文件,如下圖所示,注釋掉第7行,添加from vtk import vtkVersion

pyANSYS|干掉一個BUG的圖3

轉到第157行所在的位置,如下圖所示。

pyANSYS|干掉一個BUG的圖4

添加下面的代碼:

VTK9 = vtkVersion().GetVTKMajorVersion() >= 9

修改后如下圖所示。

pyANSYS|干掉一個BUG的圖5

保存mesh.py文件后,再運行pymapdl代碼,能夠正常運行。

pyANSYS|干掉一個BUG的圖6

這種低級錯誤都能犯,真是老6!!


(完)

文章來源:cfd之道

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

3
1
1