Python FiPy 执行错误,例如 circle.py

问题描述

在 Windows 10 上,我运行 Python 3.7,当前的 FiPy 版本为 3.4.2.1。

如果我运行 circle.py 我得到:

  Traceback (most recent call last):
  File "circle.py",line 182,in <module>
    exec(fipy.tests.doctestPlus._getScript())
  File "<string>",line 39,in <module>
  File "C:\python37\lib\site-packages\fipy\meshes\gmshMesh.py",line 1601,in __init__
    background=background)
  File "C:\python37\lib\site-packages\fipy\meshes\gmshMesh.py",line 137,in openMSHFile
    raise EnvironmentError("gmsh version must be >= 2.0.")
OSError: gmsh version must be >= 2.0.

gmsh 的版本是 4.7.1。检查 C:\python37\lib\site-packages\fipy\meshes\gmshMesh.py 中发生的情况显示,命令 version = _gmshVersion(communicator=communicator) 的结果是 '0.0'。所以我“破解”了代码以忽略版本。

现在出现错误

Traceback (most recent call last):
  File "circle.py",line 1602,line 220,in openMSHFile
    stdout=PIPE)
  File "C:\python37\lib\subprocess.py",line 800,in __init__
    restore_signals,start_new_session)
  File "C:\python37\lib\subprocess.py",line 1207,in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht finden

英文大概:系统找不到请求的文件

现在我迷路了。这里有什么问题吗?

解决方法

好吧,我没注意到 gmsh 是一个必须单独安装的外部软件。

执行此操作后,一切运行正常。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...