【问题标题】:Trouble Installing / Running安装/运行问题
【发布时间】:2021-07-10 20:51:05
【问题描述】:

我通过这里的文档安装了 openmdao(windows 10 plus anaconda):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'

有什么想法吗?谢谢!!

【问题讨论】:

    标签: python python-3.x openmdao


    【解决方案1】:

    我可以想象两种情况:

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

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

    【讨论】:

    • 感谢您提供的信息,我学到了一些东西!我最终只是切换到了 WSL,因为我在 Linux 环境中对 python 感到更加自在,并且过程更加顺利。
    猜你喜欢
    • 2013-06-04
    • 2017-12-14
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2021-02-20
    相关资源
    最近更新 更多