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