我通过此处的文档安装了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中重新运行,但出现了相同的错误,然后尝试了终端中的前几行,以验证不存在模型属性。
我试图用terminal进一步深入到代码中,但又出现了一些错误:
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条答案
按热度按时间1qczuiv01#
我可以想象两种情况:
你碰巧创建了一个
openmdao
当前本地目录中的文件夹。您正在打开解释器或在同一目录中运行python脚本。所以当你尝试的时候import openmdao
它首先选择本地文件夹,而不是安装的包。如果是这样的话cd
转到其他目录或重命名/删除该文件夹。您的安装出现问题。不知何故,您有多个相互冲突的版本。要进行测试,请首先使用pip卸载:
pip uninstall OpenMDAO
. 然后打开一个解释器并尝试import openmdao
如果在您刚刚卸载它之后,它以某种方式起作用,则确认您以某种方式进行了多次安装。您需要手动清理您的环境。在口译员里面,,openmdao.__file__
应该告诉你这个不可靠的第二次安装隐藏在哪里。您可以手动删除它,然后重复此导入测试,直到获得ImportError
. 此时,您知道已经找到所有的rouge安装,可以安全地重试新的pip安装。