howto install pygraphviz on windows 10 64bit
Question:
Has anyone succeeded in installing pygraphviz on windows 10 64bit? I tried anaconda with python 3.5 64bit & 32bit with no success.
Here is the error I am getting with python 3.5 32bit on win10 64bit
python -m pip install pygraphviz --install-option="--include-path=C:Program Files (x86)Graphviz2.38include" --install-option="--library-path=C:Program Files (x86)Graphviz2.38lib"
Error:
C:Program Files (x86)Microsoft Visual Studio 14.0VCBINcl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:Program Files (x86)Graphviz2.38include" -IC:Userstra20Anaconda3include -IC:Userstra20Anaconda3include "-IC:Program Files (x86)Microsoft Visual Studio 14.0VCINCLUDE" "-IC:Program Files (x86)Windows Kits10include10.0.10240.0ucrt" "-IC:Program Files (x86)Windows Kits8.1includeshared" "-IC:Program Files (x86)Windows Kits8.1includeum" "-IC:Program Files (x86)Windows Kits8.1includewinrt" /Tcpygraphviz/graphviz_wrap.c /Fobuildtemp.win32-3.5Releasepygraphviz/graphviz_wrap.obj
graphviz_wrap.c
pygraphviz/graphviz_wrap.c(3321): warning C4047: 'return': 'int' differs in levels of indirection from 'Agsym_t *'
C:Program Files (x86)Microsoft Visual Studio 14.0VCBINlink.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO "/LIBPATH:C:Program Files (x86)Graphviz2.38lib" /LIBPATH:C:Userstra20Anaconda3libs /LIBPATH:C:Userstra20Anaconda3PCbuildwin32 "/LIBPATH:C:Program Files (x86)Microsoft Visual Studio 14.0VCLIB" "/LIBPATH:C:Program Files (x86)Windows Kits10lib10.0.10240.0ucrtx86" "/LIBPATH:C:Program Files (x86)Windows Kits8.1libwinv6.3umx86" cgraph.lib cdt.lib /EXPORT:PyInit__graphviz buildtemp.win32-3.5Releasepygraphviz/graphviz_wrap.obj /OUT:buildlib.win32-3.5pygraphviz_graphviz.cp35-win32.pyd /IMPLIB:buildtemp.win32-3.5Releasepygraphviz_graphviz.cp35-win32.lib
LINK : fatal error LNK1181: cannot open input file 'cgraph.lib'
error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.exe' failed with exit status 1181
I assume it has something to do with the fact graphviz is linked in 32bit?
Note – I tried all binary for pygraphviz i could found on internet(anaconda,internet), and none work on win10 64bit… if you have any working (i mean you realy tested it ) i would be also happy …
Answers:
Start reading from here
https://github.com/pygraphviz/pygraphviz/issues/58
At the bottom of that page there is a link to a x64 zip file in Github (like this)
Unpack that. Create a coresponding Program Files folder for your x64 file and put them there
Then install using this
pip install --global-option=build_ext --global-option="-IC:Program FilesGraphviz2.38include" --global-option="-LC:Program FilesGraphviz2.38lib" pygraphviz
The accepted answer didn’t work for me running Python 2.7 (Anaconda) on Windows 10. The file path that @MiniMe suggested for --global-option
didn’t even exist in the git repo that he or she pointed to.
What did work for me was following instructions provided by the (currently) bottom answer to: Installing pygraphviz on windows
Steps:
1. Download graphviz-2.38.msi from https://graphviz.gitlab.io/_pages/Download/Download_windows.html and install
2. Download the 2.7 o̶r̶ ̶3̶.̶4̶ wheel file you need from http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz
3. Navigate to the directory that you downloaded the wheel file to
4. Run pip install pygraphviz-1.3.1-cp27-none-win_amd64.whl
5. Rejoice
N̶o̶t̶e̶ ̶t̶h̶a̶t̶ ̶y̶o̶u̶ ̶m̶i̶g̶h̶t̶ ̶h̶a̶v̶e̶ ̶t̶o̶ ̶r̶u̶n̶ ̶̶p̶i̶p̶ ̶i̶n̶s̶t̶a̶l̶l̶ ̶p̶y̶g̶r̶a̶p̶h̶v̶i̶z̶-̶1̶.̶3̶.̶1̶-̶c̶p̶3̶4̶-̶n̶o̶n̶e̶-̶w̶i̶n̶_̶a̶m̶d̶6̶4̶.̶w̶h̶l̶
̶ ̶i̶f̶ ̶y̶o̶u̶’̶r̶e̶ ̶t̶r̶y̶i̶n̶g̶ ̶t̶o̶ ̶g̶e̶t̶ ̶i̶t̶ ̶t̶o̶ ̶w̶o̶r̶k̶ ̶w̶i̶t̶h̶ ̶P̶y̶t̶h̶o̶n̶ ̶3̶.̶4̶.̶ ̶I̶ ̶d̶i̶d̶n̶’̶t̶ ̶t̶e̶s̶t̶ ̶t̶h̶a̶t̶ ̶t̶h̶o̶u̶g̶h̶.̶ Also, the SO answer I referenced also mentioned needing to add graphviz to your PATH
but I didn’t need to. Good luck!
Update: The python3 wheel vanished. If you’re running python3, this answer worked for me. Follow step 1 above and then in WSL bash run:
1. sudo apt-get install python-dev graphviz libgraphviz-dev pkg-config
2. pip install pygraphviz
That answers says to use sudo pip install pygraphviz
, but that gave me a dreaded pip import error for some reason. Dropping the sudo made it work in my case.
If all the solutions above failed, you can still clone directly from the pygraphviz repository
- Visit: https://github.com/pygraphviz/pygraphviz.git
- Download/Clone it
- put the folder into C:Users\AppDataLocalProgramsPythonPython37-32Libsite-packages
- Change directory to “pygraphviz”
- Run “python setup.py install” to build and install
- (optional) Run “python setup_egg.py nosetests” to execute the tests
Source: http://pygraphviz.github.io/documentation/pygraphviz-1.3.1/install.html
I’ve created a build of PyGraphviz 1.5 on my Anaconda channel for Windows 64 bit running Python 3.6 through 3.9. If you’re running Anaconda, you can install with:
conda install -c alubbock pygraphviz
This will also install Graphviz 2.41 as a dependency (don’t install it separately, it might conflict and not all versions are 64-bit compatible).
I don’t currently have a version for Python 3.5 or 32-bit versions of Windows, but I hope the above helps.
It is a real pain to install pygraphviz on Windows 10 but this is the simples solution which works for me:
Step 1: Download and install Graphviz
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
Step 2: Add below path to your PATH environment variable
C:Program Files (x86)Graphviz2.38bin
Step 3: Re-open command line and activate venv in your project, example:
venvScriptsactivate
Step 4: Download binaries from below link:
https://github.com/CristiFati/Prebuilt-Binaries/tree/master/PyGraphviz/v1.5/Graphviz-2.42.2
Step 5. Install whl into your virtual environment
For example:
In case of python 3.7
pip install pygraphviz-1.5-cp37-cp37m-win_amd64.whl
In case of python 3.8
pip install pygraphviz-1.5-cp38-cp38-win_amd64.whl
Here’s how I installed 64 bit PyGraphViz for Windows 10:
Downloaded and installed GraphViz from https://www2.graphviz.org/Packages/stable/windows/10/cmake/Release/x64/graphviz-install-2.44.1-win64.exe
Made sure I had Visual C++ installed, e.g. from here:
https://visualstudio.microsoft.com/visual-cpp-build-tools/
Then I ran:
pip install --global-option=build_ext --global-option="-IC:Program FilesGraphviz 2.44.1include" --global-option="-LC:Program FilesGraphviz 2.44.1lib" pygraphviz
Then I had to add C:Program FilesGraphviz 2.44.1bin
to my system path before import pygraphviz
worked.
Finally, I had to run this in command prompt after the install to register plugins and be able to draw graphs: "C:Program FilesGraphviz 2.44.1bindot.exe" -c
Obviously, for a newer version of Graphviz you’ll need to check and update all the paths given above.
None of the above worked for me, so I will show what did worked on my windows 11 machine (I don’t think the windows version was the problem), which is in the pygraphviz documentation:
- Install Visual C/C++, from here: https://visualstudio.microsoft.com/visual-cpp-build-tools/
It shows up as a requirement and even if you did install it and try to reinstall with pip, it may not work because garphviz is another requirement.
- Download and install graphviz for windows: stable_windows_10_cmake_Release_x64_graphviz-install-2.46.0-win64.exe
- Restart your computer (as required per the first step)
- Then install the library pygraphviz through Windows PowerShell with the following command (I don’t know why, with pip it still wasn’t working):
python -m pip install --global-option=build_ext `
--global-option="-IC:Program FilesGraphvizinclude" `
--global-option="-LC:Program FilesGraphvizlib" `
pygraphviz
The true easiest way to install pygraphviz on Windows without conda or external packager is to use Gohlke’s wheels (opinion: His works should be assumed daily by someone in the Python Software Foundation)
-
Install latest or adapted graphviz package from graphviz using the 64bit or 32bit exe. Don’t forget to check the box "add to the path"
-
Restart the computer
-
-
Open a terminal/powershell as admin on the folder where you downloaded the pygraphviz-version–python_version–win_version.whl and enter pip install pygraphviz-*version*-*python_version*-*win_version*.whl
-
Test the install by opening in the terminal/powershell and entering
python
import pygraphviz
if no error returns, pygraphviz is installed and functional
Try to install from your Anaconda (Python 3.8 recommended) environment using:
conda install -c conda-forge python-graphviz
Has anyone succeeded in installing pygraphviz on windows 10 64bit? I tried anaconda with python 3.5 64bit & 32bit with no success.
Here is the error I am getting with python 3.5 32bit on win10 64bit
python -m pip install pygraphviz --install-option="--include-path=C:Program Files (x86)Graphviz2.38include" --install-option="--library-path=C:Program Files (x86)Graphviz2.38lib"
Error:
C:Program Files (x86)Microsoft Visual Studio 14.0VCBINcl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:Program Files (x86)Graphviz2.38include" -IC:Userstra20Anaconda3include -IC:Userstra20Anaconda3include "-IC:Program Files (x86)Microsoft Visual Studio 14.0VCINCLUDE" "-IC:Program Files (x86)Windows Kits10include10.0.10240.0ucrt" "-IC:Program Files (x86)Windows Kits8.1includeshared" "-IC:Program Files (x86)Windows Kits8.1includeum" "-IC:Program Files (x86)Windows Kits8.1includewinrt" /Tcpygraphviz/graphviz_wrap.c /Fobuildtemp.win32-3.5Releasepygraphviz/graphviz_wrap.obj
graphviz_wrap.c
pygraphviz/graphviz_wrap.c(3321): warning C4047: 'return': 'int' differs in levels of indirection from 'Agsym_t *'
C:Program Files (x86)Microsoft Visual Studio 14.0VCBINlink.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO "/LIBPATH:C:Program Files (x86)Graphviz2.38lib" /LIBPATH:C:Userstra20Anaconda3libs /LIBPATH:C:Userstra20Anaconda3PCbuildwin32 "/LIBPATH:C:Program Files (x86)Microsoft Visual Studio 14.0VCLIB" "/LIBPATH:C:Program Files (x86)Windows Kits10lib10.0.10240.0ucrtx86" "/LIBPATH:C:Program Files (x86)Windows Kits8.1libwinv6.3umx86" cgraph.lib cdt.lib /EXPORT:PyInit__graphviz buildtemp.win32-3.5Releasepygraphviz/graphviz_wrap.obj /OUT:buildlib.win32-3.5pygraphviz_graphviz.cp35-win32.pyd /IMPLIB:buildtemp.win32-3.5Releasepygraphviz_graphviz.cp35-win32.lib
LINK : fatal error LNK1181: cannot open input file 'cgraph.lib'
error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.exe' failed with exit status 1181
I assume it has something to do with the fact graphviz is linked in 32bit?
Note – I tried all binary for pygraphviz i could found on internet(anaconda,internet), and none work on win10 64bit… if you have any working (i mean you realy tested it ) i would be also happy …
Start reading from here
https://github.com/pygraphviz/pygraphviz/issues/58
At the bottom of that page there is a link to a x64 zip file in Github (like this)
Unpack that. Create a coresponding Program Files folder for your x64 file and put them there
Then install using this
pip install --global-option=build_ext --global-option="-IC:Program FilesGraphviz2.38include" --global-option="-LC:Program FilesGraphviz2.38lib" pygraphviz
The accepted answer didn’t work for me running Python 2.7 (Anaconda) on Windows 10. The file path that @MiniMe suggested for --global-option
didn’t even exist in the git repo that he or she pointed to.
What did work for me was following instructions provided by the (currently) bottom answer to: Installing pygraphviz on windows
Steps:
1. Download graphviz-2.38.msi from https://graphviz.gitlab.io/_pages/Download/Download_windows.html and install
2. Download the 2.7 o̶r̶ ̶3̶.̶4̶ wheel file you need from http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz
3. Navigate to the directory that you downloaded the wheel file to
4. Run pip install pygraphviz-1.3.1-cp27-none-win_amd64.whl
5. Rejoice
N̶o̶t̶e̶ ̶t̶h̶a̶t̶ ̶y̶o̶u̶ ̶m̶i̶g̶h̶t̶ ̶h̶a̶v̶e̶ ̶t̶o̶ ̶r̶u̶n̶ ̶̶p̶i̶p̶ ̶i̶n̶s̶t̶a̶l̶l̶ ̶p̶y̶g̶r̶a̶p̶h̶v̶i̶z̶-̶1̶.̶3̶.̶1̶-̶c̶p̶3̶4̶-̶n̶o̶n̶e̶-̶w̶i̶n̶_̶a̶m̶d̶6̶4̶.̶w̶h̶l̶
̶ ̶i̶f̶ ̶y̶o̶u̶’̶r̶e̶ ̶t̶r̶y̶i̶n̶g̶ ̶t̶o̶ ̶g̶e̶t̶ ̶i̶t̶ ̶t̶o̶ ̶w̶o̶r̶k̶ ̶w̶i̶t̶h̶ ̶P̶y̶t̶h̶o̶n̶ ̶3̶.̶4̶.̶ ̶I̶ ̶d̶i̶d̶n̶’̶t̶ ̶t̶e̶s̶t̶ ̶t̶h̶a̶t̶ ̶t̶h̶o̶u̶g̶h̶.̶ Also, the SO answer I referenced also mentioned needing to add graphviz to your PATH
but I didn’t need to. Good luck!
Update: The python3 wheel vanished. If you’re running python3, this answer worked for me. Follow step 1 above and then in WSL bash run:
1. sudo apt-get install python-dev graphviz libgraphviz-dev pkg-config
2. pip install pygraphviz
That answers says to use sudo pip install pygraphviz
, but that gave me a dreaded pip import error for some reason. Dropping the sudo made it work in my case.
If all the solutions above failed, you can still clone directly from the pygraphviz repository
- Visit: https://github.com/pygraphviz/pygraphviz.git
- Download/Clone it
- put the folder into C:Users\AppDataLocalProgramsPythonPython37-32Libsite-packages
- Change directory to “pygraphviz”
- Run “python setup.py install” to build and install
- (optional) Run “python setup_egg.py nosetests” to execute the tests
Source: http://pygraphviz.github.io/documentation/pygraphviz-1.3.1/install.html
I’ve created a build of PyGraphviz 1.5 on my Anaconda channel for Windows 64 bit running Python 3.6 through 3.9. If you’re running Anaconda, you can install with:
conda install -c alubbock pygraphviz
This will also install Graphviz 2.41 as a dependency (don’t install it separately, it might conflict and not all versions are 64-bit compatible).
I don’t currently have a version for Python 3.5 or 32-bit versions of Windows, but I hope the above helps.
It is a real pain to install pygraphviz on Windows 10 but this is the simples solution which works for me:
Step 1: Download and install Graphviz
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
Step 2: Add below path to your PATH environment variable
C:Program Files (x86)Graphviz2.38bin
Step 3: Re-open command line and activate venv in your project, example:
venvScriptsactivate
Step 4: Download binaries from below link:
https://github.com/CristiFati/Prebuilt-Binaries/tree/master/PyGraphviz/v1.5/Graphviz-2.42.2
Step 5. Install whl into your virtual environment
For example:
In case of python 3.7
pip install pygraphviz-1.5-cp37-cp37m-win_amd64.whl
In case of python 3.8
pip install pygraphviz-1.5-cp38-cp38-win_amd64.whl
Here’s how I installed 64 bit PyGraphViz for Windows 10:
Downloaded and installed GraphViz from https://www2.graphviz.org/Packages/stable/windows/10/cmake/Release/x64/graphviz-install-2.44.1-win64.exe
Made sure I had Visual C++ installed, e.g. from here:
https://visualstudio.microsoft.com/visual-cpp-build-tools/
Then I ran:
pip install --global-option=build_ext --global-option="-IC:Program FilesGraphviz 2.44.1include" --global-option="-LC:Program FilesGraphviz 2.44.1lib" pygraphviz
Then I had to add C:Program FilesGraphviz 2.44.1bin
to my system path before import pygraphviz
worked.
Finally, I had to run this in command prompt after the install to register plugins and be able to draw graphs: "C:Program FilesGraphviz 2.44.1bindot.exe" -c
Obviously, for a newer version of Graphviz you’ll need to check and update all the paths given above.
None of the above worked for me, so I will show what did worked on my windows 11 machine (I don’t think the windows version was the problem), which is in the pygraphviz documentation:
- Install Visual C/C++, from here: https://visualstudio.microsoft.com/visual-cpp-build-tools/
It shows up as a requirement and even if you did install it and try to reinstall with pip, it may not work because garphviz is another requirement. - Download and install graphviz for windows: stable_windows_10_cmake_Release_x64_graphviz-install-2.46.0-win64.exe
- Restart your computer (as required per the first step)
- Then install the library pygraphviz through Windows PowerShell with the following command (I don’t know why, with pip it still wasn’t working):
python -m pip install --global-option=build_ext ` --global-option="-IC:Program FilesGraphvizinclude" ` --global-option="-LC:Program FilesGraphvizlib" ` pygraphviz
The true easiest way to install pygraphviz on Windows without conda or external packager is to use Gohlke’s wheels (opinion: His works should be assumed daily by someone in the Python Software Foundation)
-
Install latest or adapted graphviz package from graphviz using the 64bit or 32bit exe. Don’t forget to check the box "add to the path"
-
Restart the computer
-
Open a terminal/powershell as admin on the folder where you downloaded the pygraphviz-version–python_version–win_version.whl and enter
pip install pygraphviz-*version*-*python_version*-*win_version*.whl
-
Test the install by opening in the terminal/powershell and entering
python
import pygraphviz
if no error returns, pygraphviz is installed and functional
Try to install from your Anaconda (Python 3.8 recommended) environment using:
conda install -c conda-forge python-graphviz