Python 程序无法导入点解析器
Python program can not import dot parser
我正在尝试 运行 从命令行模拟 python 软件的巨大进化。该软件依赖于以下 python 个软件包:
1-网络X
2-pyparsing
3-numpy
4-pydot
5-matplotlib
6-graphviz
我得到的错误是这样的:
Couldn't import dot_parser, loading of dot files will not be possible.
initializing with file= initAdapt.py in model dir= ./Test_adaptation//
Traceback (most recent call last):
File "run_evolution.py", line 230, in <module>
gr.write_dot( os.path.join(test_output_dir, 'test_net.dot') )
File "/Library/Python/2.7/site-packages/pydot.py", line 1602, in <lambda>
lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog))
File "/Library/Python/2.7/site-packages/pydot.py", line 1696, in write
dot_fd.write(self.create(prog, format))
File "/Library/Python/2.7/site-packages/pydot.py", line 1740, in create
self.write(tmp_name)
File "/Library/Python/2.7/site-packages/pydot.py", line 1694, in write
dot_fd.write(self.to_string())
File "/Library/Python/2.7/site-packages/pydot.py", line 1452, in to_string
graph.append( node.to_string()+'\n' )
File "/Library/Python/2.7/site-packages/pydot.py", line 722, in to_string
node_attr.append( attr + '=' + quote_if_necessary(value) )
TypeError: cannot concatenate 'str' and 'int' objects
我已经尝试过针对堆栈溢出的类似 question 建议的解决方案。我仍然遇到同样的错误。这是我使用的包版本和我的 python 版本。
- 我正在使用 python 2.7.6
- 键入命令
which -a python
会产生结果:“/usr/bin/python”。
1-pyparsing (1.5.7)
2-pydot (1.0.2)
3-matplotlib (1.3.1)
4-graphviz (0.4.2)
5-网络x (0.37)
6-numpy (1.8.0rc1)
有什么想法吗?看到类似问题的解决方案对我不起作用,我认为这个问题在我的案例中可能更为根本。也许我安装 python 的方式有问题。
您没有使用最新版本的 pydot 有什么特别的原因吗?
1.0.2 的这个修订版似乎完全解决了这个问题:
https://code.google.com/p/pydot/source/diff?spec=svn10&r=10&format=side&path=/trunk/pydot.py
参见第 722 行。
升级我的 pyparsing 模块解决了这个问题。尝试:
pip install --upgrade pyparsing
我正在尝试 运行 从命令行模拟 python 软件的巨大进化。该软件依赖于以下 python 个软件包:
1-网络X
2-pyparsing
3-numpy
4-pydot
5-matplotlib
6-graphviz
我得到的错误是这样的:
Couldn't import dot_parser, loading of dot files will not be possible.
initializing with file= initAdapt.py in model dir= ./Test_adaptation//
Traceback (most recent call last):
File "run_evolution.py", line 230, in <module>
gr.write_dot( os.path.join(test_output_dir, 'test_net.dot') )
File "/Library/Python/2.7/site-packages/pydot.py", line 1602, in <lambda>
lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog))
File "/Library/Python/2.7/site-packages/pydot.py", line 1696, in write
dot_fd.write(self.create(prog, format))
File "/Library/Python/2.7/site-packages/pydot.py", line 1740, in create
self.write(tmp_name)
File "/Library/Python/2.7/site-packages/pydot.py", line 1694, in write
dot_fd.write(self.to_string())
File "/Library/Python/2.7/site-packages/pydot.py", line 1452, in to_string
graph.append( node.to_string()+'\n' )
File "/Library/Python/2.7/site-packages/pydot.py", line 722, in to_string
node_attr.append( attr + '=' + quote_if_necessary(value) )
TypeError: cannot concatenate 'str' and 'int' objects
我已经尝试过针对堆栈溢出的类似 question 建议的解决方案。我仍然遇到同样的错误。这是我使用的包版本和我的 python 版本。
- 我正在使用 python 2.7.6
- 键入命令
which -a python
会产生结果:“/usr/bin/python”。
1-pyparsing (1.5.7)
2-pydot (1.0.2)
3-matplotlib (1.3.1)
4-graphviz (0.4.2)
5-网络x (0.37)
6-numpy (1.8.0rc1)
有什么想法吗?看到类似问题的解决方案对我不起作用,我认为这个问题在我的案例中可能更为根本。也许我安装 python 的方式有问题。
您没有使用最新版本的 pydot 有什么特别的原因吗?
1.0.2 的这个修订版似乎完全解决了这个问题:
https://code.google.com/p/pydot/source/diff?spec=svn10&r=10&format=side&path=/trunk/pydot.py
参见第 722 行。
升级我的 pyparsing 模块解决了这个问题。尝试:
pip install --upgrade pyparsing