安装/运行时遇到问题

时间:2021-07-10 20:51:05

标签: python python-3.x openmdao

我通过此处的文档(Windows 10 加 anaconda)安装了 openmdao:http://openmdao.org/twodocs/versions/latest/getting_started/getting_started.html

如果我真的使用 [all] 标志,似乎 pip 会尝试下载每个版本的软件包,所以我选择了 pip install openmdao

当我尝试从上面的链接运行示例时,出现此错误:

AttributeError: 'Problem' object has no attribute 'model'

我尝试在 spyder 中以相同的错误重新运行,然后在终端中尝试前几行以验证不存在模型属性。

我尝试使用终端进一步跳到代码中,但出现了更多错误:

prob.driver=om.ScipyOptimizeDriver()
Traceback (most recent call last):

  File "<ipython-input-6-8ea598efdab2>", line 1, in <module>
    prob.driver=om.ScipyOptimizeDriver()

AttributeError: module 'openmdao.api' has no attribute 'ScipyOptimizeDriver'

我认为可能与使用 openmdao 的不同版本断开连接,因此我安装了最新的非开发版本并尝试在该主文件夹中运行一些包含的文件。我运行的所有示例都有相同的错误:

runfile('C:/Users/Vicconius/Anaconda3/OpenMDAO1-master/examples/beam_tutorial.py', wdir='C:/Users/Vicconius/Anaconda3/OpenMDAO1-master/examples')
Traceback (most recent call last):

  File "<ipython-input-7-7e855a208cb8>", line 1, in <module>
    runfile('C:/Users/Vicconius/Anaconda3/OpenMDAO1-master/examples/beam_tutorial.py', wdir='C:/Users/Vicconius/Anaconda3/OpenMDAO1-master/examples')

  File "C:\Users\Vicconius\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile
    execfile(filename, namespace)

  File "C:\Users\Vicconius\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 101, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/Vicconius/Anaconda3/OpenMDAO1-master/examples/beam_tutorial.py", line 218, in <module>
    top.setup()

  File "C:\Users\Vicconius\Anaconda3\OpenMDAO1-master\openmdao\core\problem.py", line 456, in setup
    connections = self._setup_connections(params_dict, unknowns_dict)

  File "C:\Users\Vicconius\Anaconda3\OpenMDAO1-master\openmdao\core\problem.py", line 234, in _setup_connections
    for node in input_graph.nodes_iter():

AttributeError: 'DiGraph' object has no attribute 'nodes_iter'

有什么想法吗?谢谢你!!

1 个答案:

答案 0 :(得分:0)

我可以想象两种情况:

  1. 您碰巧在当前本地目录中创建了一个 openmdao 文件夹。您正在打开解释器或以其他方式在同一目录中运行 python 脚本。因此,当您尝试 import openmdao 时,它首先选择本地文件夹 --- 而不是已安装的包。如果是这种情况,请cd 到其他目录或重命名/删除该文件夹。

  2. 您的安装出现问题。您不知何故有多个相互冲突的版本。 要测试,首先使用 pip 卸载: pip uninstall OpenMDAO。 然后打开一个解释器并尝试 import openmdao 如果它以某种方式起作用,那么在您刚刚卸载它之后,这确认您以某种方式进行了多次安装。 您需要手动清理您的环境。 在解释器中,openmdao.__file__ 应该告诉你这个奇怪的第二次安装隐藏在哪里。您可以手动删除它,然后重复此导入测试,直到获得 ImportError。此时,您就知道已找到所有 rouge 安装,并且可以安全地重试新的 pip 安装。