我还是个新手,我在网上找到了一段matlab代码,我想用momop把它转换成python代码。我已经安装了Smop,但是当我试图运行它时,我得到了一个错误。
当我的networkx版本为1.11时,尝试运行smop main.m
时出现以下错误
Traceback (most recent call last):
File "C:\Users\IDABUK\Anaconda3\envs\smop\lib\site-packages\smop\main.py", line 66, in main
G = resolve.resolve(stmt_list)
File "C:\Users\IDABUK\Anaconda3\envs\smop\lib\site-packages\smop\resolve.py", line 54, in resolve
u = G.node[n]["ident"]
AttributeError: 'DiGraph' object has no attribute 'node'
Errors: 1
安装更高版本的networkx(pip install networkx==2.0
或pip install networkx==2.5
)时,出现以下错误:
Traceback (most recent call last):
File "C:\Users\IDABUK\Anaconda3\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\IDABUK\Anaconda3\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\IDABUK\Anaconda3\Scripts\smop.exe\__main__.py", line 4, in <module>
File "C:\Users\IDABUK\Anaconda3\lib\site-packages\smop\main.py", line 17, in <module>
from . import resolve
File "C:\Users\IDABUK\Anaconda3\lib\site-packages\smop\resolve.py", line 22, in <module>
import networkx as nx
File "C:\Users\IDABUK\Anaconda3\lib\site-packages\networkx\__init__.py", line 114, in <module>
import networkx.generators
File "C:\Users\IDABUK\Anaconda3\lib\site-packages\networkx\generators\__init__.py", line 6, in <module>
from networkx.generators.classic import *
File "C:\Users\IDABUK\Anaconda3\lib\site-packages\networkx\generators\classic.py", line 26, in <module>
from networkx.algorithms.bipartite.generators import complete_bipartite_graph
File "C:\Users\IDABUK\Anaconda3\lib\site-packages\networkx\algorithms\__init__.py", line 16, in <module>
from networkx.algorithms.dag import *
File "C:\Users\IDABUK\Anaconda3\lib\site-packages\networkx\algorithms\dag.py", line 14, in <module>
from fractions import gcd
ImportError: cannot import name 'gcd' from 'fractions' (C:\Users\IDABUK\Anaconda3\lib\fractions.py)
我是从Python提示符窗口(Python电源外壳?)运行这个程序的。
有什么办法可以解决这个问题吗?我在网上找到的唯一解决方案是人们安装各种networkx版本--在这种情况下,这似乎不是我的解决方案,或者直接在代码中将‘node’改为‘node’,但我在matlab代码中找不到任何‘node’的示例。
1条答案
按热度按时间gorkyyrv1#
对于未来寻找答案的人:我找不到这个问题的答案。
然而,它使用的是matlab2python。这就是我的工作方式:在终端中,我写道
然后,我使用下面的代码来转换每个matlab脚本: