Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing PygraphViz on Windows, Python 2.6

Tags:

Anybody out there has successfully installed PygraphViz on Windows?

Since there is not an official release for Windows, I'm trying to build it myself, but it fails to compile. I'm not the first one to face this issue, but I could not find an answer.

This is the console output:

C:\Python26\Lib\site-packages\pygraphviz-0.99.1>c:\python26\python.exe setup.py install library_path=C:/Program Files/Graphviz2.26.3/lib/debug/dll include_path=C:/Program Files/Graphviz2.26.3/include/graphviz running install running build running build_py running build_ext building 'pygraphviz._graphviz' extension C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W 3 /GS- /DNDEBUG "-IC:/Program Files/Graphviz2.26.3/include/graphviz" -Ic:\python 26\include -Ic:\python26\PC /Tcpygraphviz/graphviz_wrap.c /Fobuild\temp.win32-2. 6\Release\pygraphviz/graphviz_wrap.obj graphviz_wrap.c warning: I don't know what to do with 'runtime_library_dirs': ['C:/Program Files /Graphviz2.26.3/lib/debug/dll'] error: don't know how to set runtime library search path for MSVC++ 

Any help would be appreciated!

like image 241
jbochi Avatar asked May 09 '10 19:05

jbochi


2 Answers

I appreciate this may be an obsolete thread by now, but to update it for others currently hitting this wall, the installer at Christoph Gohlke's Unofficial Windows Binaries for Python Extension Packages has just worked for me..

like image 148
geotheory Avatar answered Sep 21 '22 00:09

geotheory


Here's what worked for me in Python 2.7. I assume it should work similarly in Python 2.6. Precondition: Install mingw32 (included in pythonxy distrib if you're using it), Graphviz

1) Download pygraphviz sources

2) Edit setup.py to change paths to smth like

library_path=r"c:\Program Files (x86)\Graphviz 2.28\bin" include_path=r"c:\Program Files (x86)\Graphviz 2.28\include\graphviz" 

Note that it's \bin, not \lib. Linking with libs didn't work for me.

3) run python setup.py build -c mingw32

Result of step 3:

c:\Python27\Lib\site-packages\pygraphviz-1.1>python setup.py build -c mingw32 library_path=c:\Program Files (x86)\Graphviz 2.28\bin include_path=c:\Program Files (x86)\Graphviz 2.28\include\graphviz running build running build_py running build_ext building 'pygraphviz._graphviz' extension C:\MinGW32-xy\bin\gcc.exe -mno-cygwin -mdll -O -Wall "-Ic:\Program Files (x86)\G raphviz 2.28\include\graphviz" -Ic:\Python27\include -Ic:\Python27\PC -c pygraph viz/graphviz_wrap.c -o build\temp.win32-2.7\Release\pygraphviz\graphviz_wrap.o pygraphviz/graphviz_wrap.c: In function 'agattr_label': pygraphviz/graphviz_wrap.c:2855:5: warning: return makes integer from pointer wi thout a cast writing build\temp.win32-2.7\Release\pygraphviz\_graphviz.def C:\MinGW32-xy\bin\gcc.exe -mno-cygwin -shared -s build\temp.win32-2.7\Release\py graphviz\graphviz_wrap.o build\temp.win32-2.7\Release\pygraphviz\_graphviz.def " -Lc:\Program Files (x86)\Graphviz 2.28\bin" -Lc:\Python27\libs -Lc:\Python27\PCb uild "-Wl,-Rc:\Program Files (x86)\Graphviz 2.28\bin" -lcgraph -lcdt -lpython27 -lmsvcr90 -o build\lib.win32-2.7\pygraphviz\_graphviz.pyd 

4) copy the result from the just built lib.win32-2.7 (single sub-folder called pygraphviz) into your Python's site-packages folder

Enjoy!

like image 33
Andrew Filev Avatar answered Sep 18 '22 00:09

Andrew Filev