Reputation: 18017
I succeed in installing graphviz
and cgraph
with
$ sudo pip install graphviz
....
Successfully installed graphviz-0.5.1
$ sudo pip install cgraph
...
Successfully installed cgraph-0.1
I encounter the issue No package 'libcgraph' found
while running sudo pip install pygraphviz
. Below is the full stacktrace.
$ sudo pip install pygraphviz
The directory '/Users/sparkandshine/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/sparkandshine/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting pygraphviz
Downloading pygraphviz-1.3.1.zip (123kB)
100% |████████████████████████████████| 133kB 1.5MB/s
Installing collected packages: pygraphviz
Running setup.py install for pygraphviz ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-qfFpFG/pygraphviz/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-JmwjA6-record/install-record.txt --single-version-externally-managed --compile:
running install
Trying pkg-config
Package libcgraph was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcgraph.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libcgraph' found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/tmp/pip-build-qfFpFG/pygraphviz/setup.py", line 87, in <module>
tests_require=['nose>=0.10.1', 'doctest-ignore-unicode>=0.1.0',],
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "setup_commands.py", line 44, in modified_run
self.include_path, self.library_path = get_graphviz_dirs()
File "setup_extra.py", line 121, in get_graphviz_dirs
include_dirs, library_dirs = _pkg_config()
File "setup_extra.py", line 44, in _pkg_config
output = S.check_output(['pkg-config', '--libs-only-L', 'libcgraph'])
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['pkg-config', '--libs-only-L', 'libcgraph']' returned non-zero exit status 1
----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-qfFpFG/pygraphviz/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-JmwjA6-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-build-qfFpFG/pygraphviz/
I tried the solutions provided by Python does not see pygraphviz, but it doesn't work.
Upvotes: 73
Views: 32526
Reputation: 11
I ran into this problem when creating a Dockerfile for Django with a python-alpine image.
I was able to solve it thanks to this post adding the package "graphviz-dev" along with the rest of my app's dependencies.
Example:
#Install dependencies
RUN apk add --update --no-cache --virtual .build-deps \
build-base \
alpine-sdk \
postgresql-dev \
libffi-dev \
python3-dev \
libffi-dev \
jpeg-dev \
zlib-dev \
musl-dev \
libpq \
graphviz-dev \
&& pip install --no-cache-dir -r /code/requirements_dev.txt \
&& find /usr/local \
\( -type d -a -name test -o -name tests \) \
-o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \
-exec rm -rf '{}' +
Regards
Upvotes: 1
Reputation: 1343
sudo apt-get install python-dev graphviz libgraphviz-dev pkg-config
or the following might be needed if you're using Python 3:
sudo apt-get install python3-dev graphviz libgraphviz-dev pkg-config
then
pip install pygraphviz
Upvotes: 121
Reputation: 845
For MacOS, I needed to do:
$ brew install graphviz
$ sudo pip install pygraphviz
Upvotes: 44
Reputation: 4292
For CentOS. As graphviz-devel is required to fix this issue, you will need to install it with yum. To do this you are required to add repo's where package is available. In my case Atomic repos worked fine.
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
This will add atomic repos, then
sudo yum install graphviz-devel
And you should be able to perform
pip install pygraphviz
Upvotes: 2
Reputation: 18017
On macOS, I made it with,
$ brew install graphviz
$ sudo pip install pygraphviz
Upvotes: 6
Reputation: 163
For fedora users:
graphviz*
sudo yum install 'graphviz-devel.x86_64'
pip install pygraphviz
Upvotes: 15