2010. 7. 21. 14:18
Programming/Python
import pydot
edges=[(1,2), (1,3), (1,4), (3,4)]
g=pydot.graph_from_edges(edges)
g.write_jpeg('graph_from_edges_dot.jpg', prog='dot')
python에서 graphviz 사용을 위해 pydot 프로그램을 설치하고 위의 예제를 실행하던 중 다음과 같은 에러가 발생하였다.
cannot concatenate 'str' and 'int' objects이 경우 pydot 설치 파일의 pydot.py 파일에서 일부를 수정하여 패치해줄 경우 고칠 수 있다.
e = Edge( node_prefix + edge[0], node_prefix + edge[1] )pydot.py 중 윗 부분을 찾아서 아래와 같이 고쳐준다.
e = Edge( node_prefix + str(edge[0]), node_prefix + str(edge[1]) )그리고 pydot 파일을 재설치하면 에러를 고칠 수 있다.
나는 Windows7 환경이나, GNU/Linux 환경에서도 동일하게 동작하는 듯 하다.
출처 : http://code.google.com/p/pydot/issues/detail?id=17