thegrill / grill

Cook digital.
MIT License
17 stars 5 forks source link

pip install errors out on graphviz #37

Open suekieza opened 1 year ago

suekieza commented 1 year ago

Having a hard time installing your guys pip, any help on how to get around graphviz would be appreciated.

Microsoft Windows [Version 10.0.19045.3448] (c) Microsoft Corporation. All rights reserved.

.>pip

Usage: pip [options]

Commands: install Install packages. download Download packages. uninstall Uninstall packages. freeze Output installed packages in requirements format. inspect Inspect the python environment. list List installed packages. show Show information about installed packages. check Verify installed packages have compatible dependencies. config Manage local and global configuration. search Search PyPI for packages. cache Inspect and manage pip's wheel cache. index Inspect information available from package indexes. wheel Build wheels from your requirements. hash Compute hashes of package archives. completion A helper command used for command completion. debug Show information useful for debugging. help Show help for commands.

General Options: -h, --help Show help. --debug Let unhandled exceptions propagate outside the main subroutine, instead of logging them to stderr. --isolated Run pip in an isolated mode, ignoring environment variables and user configuration. --require-virtualenv Allow pip to only run in a virtual environment; exit with an error otherwise. --python Run pip with the specified Python interpreter. -v, --verbose Give more output. Option is additive, and can be used up to 3 times. -V, --version Show version and exit. -q, --quiet Give less output. Option is additive, and can be used up to 3 times (corresponding to WARNING, ERROR, and CRITICAL logging levels). --log Path to a verbose appending log. --no-input Disable prompting for input. --proxy Specify a proxy in the form scheme://[user:passwd@]proxy.server:port. --retries Maximum number of retries each connection should attempt (default 5 times). --timeout Set the socket timeout (default 15 seconds). --exists-action Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort. --trusted-host Mark this host or host:port pair as trusted, even though it does not have valid or any HTTPS. --cert Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See 'SSL Certificate Verification' in pip documentation for more information. --client-cert Path to SSL client certificate, a single file containing the private key and the certificate in PEM format. --cache-dir

Store the cache data in . --no-cache-dir Disable the cache. --disable-pip-version-check Don't periodically check PyPI to determine whether a new version of pip is available for download. Implied with --no-index. --no-color Suppress colored output. --no-python-version-warning Silence deprecation warnings for upcoming unsupported Pythons. --use-feature Enable new functionality, that may be backward incompatible. --use-deprecated Enable deprecated functionality, that will be removed in the future.

.>pip list Package Version


colab-convert 2.0.5 grpcio 1.48.1 grpcio-tools 1.48.1 json5 0.9.10 Pillow 9.2.0 pip 23.0.1 protobuf 3.20.2 PyQt5 5.15.6 PyQt5-Qt5 5.15.2 PyQt5-sip 12.10.1 PySide2 5.15.2.1 python-dotenv 0.21.0 python-magic 0.4.27 setuptools 57.4.0 shiboken2 5.15.2.1 six 1.16.0 stability-sdk 0.2.2 usd-core 22.5.post1

[notice] A new release of pip is available: 23.0.1 -> 23.2.1 [notice] To update, run: python.exe -m pip install --upgrade pip

.>pip install PyOpenGL Collecting PyOpenGL Downloading PyOpenGL-3.1.7-py3-none-any.whl (2.4 MB) ---------------------------------------- 2.4/2.4 MB 5.0 MB/s eta 0:00:00 Installing collected packages: PyOpenGL Successfully installed PyOpenGL-3.1.7

[notice] A new release of pip is available: 23.0.1 -> 23.2.1 [notice] To update, run: python.exe -m pip install --upgrade pip

.>python -m pip install grill Collecting grill Downloading grill-0.15.0-py3-none-any.whl (59 kB) ---------------------------------------- 59.8/59.8 kB ? eta 0:00:00 Collecting numpy Downloading numpy-1.26.0-cp39-cp39-win_amd64.whl (15.8 MB) ---------------------------------------- 15.8/15.8 MB 3.5 MB/s eta 0:00:00 Collecting networkx Downloading networkx-3.1-py3-none-any.whl (2.1 MB) ---------------------------------------- 2.1/2.1 MB 4.6 MB/s eta 0:00:00 Collecting pygraphviz Downloading pygraphviz-1.11.zip (120 kB) ---------------------------------------- 120.8/120.8 kB 7.4 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Collecting grill-names>=2.6.0 Downloading grill_names-2.6.0-py3-none-any.whl (8.6 kB) Collecting naming>=0.6 Downloading naming-0.7.0-py3-none-any.whl (14 kB) Installing collected packages: naming, pygraphviz, numpy, networkx, grill-names, grill DEPRECATION: pygraphviz is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 Running setup.py install for pygraphviz ... error error: subprocess-exited-with-error

× Running setup.py install for pygraphviz did not run successfully. │ exit code: 1 ╰─> [54 lines of output] running install running build running build_py creating build creating build\lib.win-amd64-3.9 creating build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\agraph.py -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\graphviz.py -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\scraper.py -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\testing.py -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz__init__.py -> build\lib.win-amd64-3.9\pygraphviz creating build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_attribute_defaults.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_clear.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_close.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_drawing.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_edge_attributes.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_graph.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_html.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_layout.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_node_attributes.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_readwrite.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_repr_mimebundle.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_scraper.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_string.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_subgraph.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_unicode.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests__init__.py -> build\lib.win-amd64-3.9\pygraphviz\tests running egg_info writing pygraphviz.egg-info\PKG-INFO writing dependency_links to pygraphviz.egg-info\dependency_links.txt writing top-level names to pygraphviz.egg-info\top_level.txt reading manifest file 'pygraphviz.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '.png' under directory 'doc' warning: no files found matching '.txt' under directory 'doc' warning: no files found matching '.css' under directory 'doc' warning: no previously-included files matching '~' found anywhere in distribution warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: no previously-included files matching '.svn' found anywhere in distribution no previously-included directories found matching 'doc\build' adding license file 'LICENSE' writing manifest file 'pygraphviz.egg-info\SOURCES.txt' copying pygraphviz\graphviz.i -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\graphviz_wrap.c -> build\lib.win-amd64-3.9\pygraphviz running build_ext building 'pygraphviz._graphviz' extension creating build\temp.win-amd64-3.9 creating build\temp.win-amd64-3.9\Release creating build\temp.win-amd64-3.9\Release\pygraphviz .\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DSWIG_PYTHON_STRICT_BYTE_CHAR -DGVDLL -I.\AppData\Local\Programs\Python\Python39\include -I.\AppData\Local\Programs\Python\Python39\include -I.\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\ATLMFC\include -I.\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include -I. (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -I. (x86)\Windows Kits\10\include\10.0.19041.0\shared -I. (x86)\Windows Kits\10\include\10.0.19041.0\um -I. (x86)\Windows Kits\10\include\10.0.19041.0\winrt -I. (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /Tcpygraphviz/graphviz_wrap.c /Fobuild\temp.win-amd64-3.9\Release\pygraphviz/graphviz_wrap.obj graphviz_wrap.c pygraphviz/graphviz_wrap.c(3020): fatal error C1083: Cannot open include file: 'graphviz/cgraph.h': No such file or directory error: command '.\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX86\x64\cl.exe' failed with exit code 2 [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> pygraphviz

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

[notice] A new release of pip is available: 23.0.1 -> 23.2.1 [notice] To update, run: python.exe -m pip install --upgrade pip

.>pip install graphciz ERROR: Could not find a version that satisfies the requirement graphciz (from versions: none) ERROR: No matching distribution found for graphciz

[notice] A new release of pip is available: 23.0.1 -> 23.2.1 [notice] To update, run: python.exe -m pip install --upgrade pip

.>pip install graphviz Collecting graphviz Downloading graphviz-0.20.1-py3-none-any.whl (47 kB) ---------------------------------------- 47.0/47.0 kB 584.1 kB/s eta 0:00:00 Installing collected packages: graphviz Successfully installed graphviz-0.20.1

[notice] A new release of pip is available: 23.0.1 -> 23.2.1 [notice] To update, run: python.exe -m pip install --upgrade pip

.>python -m pip install grill Collecting grill Using cached grill-0.15.0-py3-none-any.whl (59 kB) Collecting numpy Using cached numpy-1.26.0-cp39-cp39-win_amd64.whl (15.8 MB) Collecting grill-names>=2.6.0 Using cached grill_names-2.6.0-py3-none-any.whl (8.6 kB) Collecting networkx Using cached networkx-3.1-py3-none-any.whl (2.1 MB) Collecting pygraphviz Using cached pygraphviz-1.11.zip (120 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: naming>=0.6 in .\appdata\local\programs\python\python39\lib\site-packages (from grill-names>=2.6.0->grill) (0.7.0) Installing collected packages: pygraphviz, numpy, networkx, grill-names, grill DEPRECATION: pygraphviz is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 Running setup.py install for pygraphviz ... error error: subprocess-exited-with-error

× Running setup.py install for pygraphviz did not run successfully. │ exit code: 1 ╰─> [54 lines of output] running install running build running build_py creating build creating build\lib.win-amd64-3.9 creating build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\agraph.py -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\graphviz.py -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\scraper.py -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\testing.py -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz__init__.py -> build\lib.win-amd64-3.9\pygraphviz creating build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_attribute_defaults.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_clear.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_close.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_drawing.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_edge_attributes.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_graph.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_html.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_layout.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_node_attributes.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_readwrite.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_repr_mimebundle.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_scraper.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_string.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_subgraph.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests\test_unicode.py -> build\lib.win-amd64-3.9\pygraphviz\tests copying pygraphviz\tests__init__.py -> build\lib.win-amd64-3.9\pygraphviz\tests running egg_info writing pygraphviz.egg-info\PKG-INFO writing dependency_links to pygraphviz.egg-info\dependency_links.txt writing top-level names to pygraphviz.egg-info\top_level.txt reading manifest file 'pygraphviz.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '.png' under directory 'doc' warning: no files found matching '.txt' under directory 'doc' warning: no files found matching '.css' under directory 'doc' warning: no previously-included files matching '~' found anywhere in distribution warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: no previously-included files matching '.svn' found anywhere in distribution no previously-included directories found matching 'doc\build' adding license file 'LICENSE' writing manifest file 'pygraphviz.egg-info\SOURCES.txt' copying pygraphviz\graphviz.i -> build\lib.win-amd64-3.9\pygraphviz copying pygraphviz\graphviz_wrap.c -> build\lib.win-amd64-3.9\pygraphviz running build_ext building 'pygraphviz._graphviz' extension creating build\temp.win-amd64-3.9 creating build\temp.win-amd64-3.9\Release creating build\temp.win-amd64-3.9\Release\pygraphviz .\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DSWIG_PYTHON_STRICT_BYTE_CHAR -DGVDLL -I.\AppData\Local\Programs\Python\Python39\include -I.\AppData\Local\Programs\Python\Python39\include -I.\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\ATLMFC\include -I.\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include -I. (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -I. (x86)\Windows Kits\10\include\10.0.19041.0\shared -I. (x86)\Windows Kits\10\include\10.0.19041.0\um -I. (x86)\Windows Kits\10\include\10.0.19041.0\winrt -I. (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /Tcpygraphviz/graphviz_wrap.c /Fobuild\temp.win-amd64-3.9\Release\pygraphviz/graphviz_wrap.obj graphviz_wrap.c pygraphviz/graphviz_wrap.c(3020): fatal error C1083: Cannot open include file: 'graphviz/cgraph.h': No such file or directory error: command '.\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX86\x64\cl.exe' failed with exit code 2 [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> pygraphviz

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

chrizzFTD commented 1 year ago

Hi @suekieza, thanks for looking into this project!

pygraphviz requires graphviz to be installed before (pygraphviz is the python interface to the graphviz library) and unfortunately installation is not self contained yet.

Can you confirm if you have installed graphviz before attempting python -m pip install grill, please?

If missing still, for me in Windows, what has worked smoothly in the past is installing graphviz via conda:

conda install --channel conda-forge pygraphviz

Then doing the pip install of grill, which will bring pygraphviz:

python -m pip install grill

But if you're not using conda for environment management, graphviz can be installed separately (via manually downloading binaries or command line) and then pygraphviz can be told where to locate it, some details on this are on their official docs: https://pygraphviz.github.io/documentation/stable/install.html

Please let me know if any of this helps,