pip install pygraphviz: No package 'libcgraph' found - python

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.

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

For MacOS, I needed to do:
$ brew install graphviz
$ sudo pip install pygraphviz

For fedora users:
yum list available graphviz*
select the appropriate package for your Fedora distribution
sudo yum install 'graphviz-devel.x86_64'
pip install pygraphviz

On macOS, I made it with,
$ brew install graphviz
$ sudo pip install pygraphviz

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

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

Related

Cannot pipenv install confluent-kafka 1.4.0 from source (pypi) - no workaround seems to work

There seems to be an issue logged with the current Confluent-Kafka package on pypi:
I have a Dockerfile with the foll code which used to work until the issue happened :
RUN cd /tmp && git clone https://github.com/edenhill/librdkafka.git \
&& cd librdkafka \
&& ./configure --prefix /usr \
&& make \
&& make install \
&& cd .. \
&& rm -rf librdkafka
RUN apk --update add \
......
pip3 install -U setuptools &&\
pip3 install --upgrade pip \
avro-python3\
confluent-kafka[avro]\
confluent-kafka\
ERROR after the issue: Command errored out with exit status 1:
command: /usr/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] =
'"'"'/tmp/pip-req-build-14u6lptl/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-
14u6lptl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)
(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code,
__file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-req-build-14u6lptl/pip-egg-info
cwd: /tmp/pip-req-build-14u6lptl/
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-req-build-14u6lptl/setup.py", line 12, in <module>
with open(os.path.join(mod_dir, 'requirements.txt')) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-req-build-
14u6lptl/confluent_kafka/requirements.txt'
on the github page for the issue, there were some suggestions made for work arounds the issue, which I have tried like so:
1) workaround which didnt work:
ENV LIBRDKAFKA_VERSION v1.4.0 \
RUN cd /tmp && git clone https://github.com/edenhill/librdkafka.git \
&& cd librdkafka \
&& git checkout $LIBRDKAFKA_VERSION \
&& ./configure --install-deps --prefix /usr \
&& make \
&& make install
RUN apk --update add \
......
pip3 install -U setuptools &&\
pip3 install --upgrade pip \
avro-python3\
confluent-kafka[avro]\
confluent-kafka\
....
2) workaround which didnt work:
ENV LIBRDKAFKA_VERSION v1.4.0 \
RUN cd /tmp && git clone https://github.com/edenhill/librdkafka.git \
&& cd librdkafka \
&& git checkout $LIBRDKAFKA_VERSION \
&& ./configure --install-deps --prefix /usr \
&& make \
&& make install
RUN apk --update add \
.....
pip3 install -U setuptools &&\
pip3 install --upgrade pip \
avro-python3\
confluent-kafka[avro]\
--no-binary :all: -i https://test.pypi.org/simple/ confluent-kafka==v1.4.0.1 \
....
ERROR:
Service 'xxxx' failed to build: The command '/bin/sh -c apk --update add
avro-python3
confluent-kafka[avro]
--no-binary :all: -i https://test.pypi.org/simple/ confluent-kafka==v1.4.0.1
returned a non-zero code: 1
Im wondering if there is a workaround I havent tried that someone can suggest to get me going until they fix this issue..
Just pin to an old version until they make a new release:
pip3 install --upgrade pip \
avro-python3\
confluent-kafka[avro]==1.3.0\
Also note that installing both the main package (confluent-kafka) and the package with the extra (confluent-kafka[avro]) is unnecessary, you just need to install the package with the extra. You're essentially installing it twice.

unable to install Gensim with Python 3.5 on ubuntu

I am running a dockerfile on a ubuntu base image as follows :
FROM ubuntu:14.04
# Install dependencies
RUN apt-get update
RUN apt-get install -y \
software-properties-common
RUN add-apt-repository universe
RUN apt-get install -y python3.5 \
python3-pip
RUN apt-get install libav-tools -y
RUN apt-get update
RUN apt-get upgrade
#RUN apt-get install google-cloud-sdk
RUN pip3 install --upgrade pip
RUN pip3 install pandas
RUN pip3 install glob3
RUN pip3 install --upgrade pip
#RUN pip3 install pandas
RUN pip3 install glob3
#RUN pip3 install json
RUN pip3 install numpy
RUN pip3 install fuzzywuzzy
RUN pip3 install gensim
I have python 3.5 installed on this machine, but still I am getting the error as follows :
Collecting gensim
Downloading https://files.pythonhosted.org/packages/3a/bc/1415be59292a23ff123298b4b46ec4be80b3bfe72c8d188b58ab2653dee4/gensim-3.8.0.tar.gz (23.4MB)
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-klg_2vmh/gensim/setup.py'"'"'; __file__='"'"'/tmp/pip-install-klg_2vmh/gensim/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
cwd: /tmp/pip-install-klg_2vmh/gensim/
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-klg_2vmh/gensim/setup.py", line 23, in <module>
raise Exception('This version of gensim needs Python 2.7, 3.5 or later.')
Exception: This version of gensim needs Python 2.7, 3.5 or later.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Is there some specific version of Gensim that i need to download or this is some different error.
use python:3.5:
FROM python:3.5
RUN pip install gensim glob3 ....
that will save you a lot of space and steps ....
If you want to still using ubuntu:14.04 then you need to use this:
apt-get install -y python-dev && python3.5 -m pip install gensim
since python3.4 is the default on the image

Django CMS on Raspberry Pi 3 Fails

Today I tried to install django CMS for a while on my Raspberry pi but it will not work. I Installed a fresh "RASPBIAN STRETCH LITE" then I entered following commands via an ssh connection:
sudo wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install Django==1.10
sudo pip install virtualenv
cd /srv
sudo mkdir django_cms
cd django_cms
sudo virtualenv env
source env/bin/activate
sudo pip install --upgrade pip
sudo pip install djangocms-installer
sudo mkdir django_site
cd django_site/
sudo djangocms -f -p . web_site
All this follows this guide
And this error get thrown after executing the last command above:
Creating the project
Please wait while I install dependencies
ERROR: cmd : [u'pip', u'install', u'-q', u'django-cms>=3.5,<3.6', u'djangocms-admin-style>=1.2,<1.3', u'django-treebeard>=4.0,<5.0', u'https://github.com/divio/djangocms-text-ckeditor/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-file/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-link/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-style/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-googlemap/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-snippet/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-picture/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-video/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-column/archive/master.zip?1520455195.14', u'easy_thumbnails', u'django-filer>=1.3', u'Django<2.0', u'pytz', u'django-classy-tags>=0.7', u'html5lib>=0.999999,<0.99999999', u'Pillow>=3.0', u'django-sekizai>=0.9', u'six'] :Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-FFzxtb/Pillow/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-CPB18v-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-FFzxtb/Pillow/
The installation has failed.
*****************************************************************
Check documentation at https://djangocms-installer.readthedocs.io
*****************************************************************
Traceback (most recent call last):
File "/usr/local/bin/djangocms", line 11, in <module>
sys.exit(execute())
File "/usr/local/lib/python2.7/dist-packages/djangocms_installer/main.py", line 33, in execute
verbose=config_data.verbose
File "/usr/local/lib/python2.7/dist-packages/djangocms_installer/install/__init__.py", line 95, in requirements
output = subprocess.check_output(['pip'] + args, stderr=subprocess.STDOUT)
File "/usr/lib/python2.7/subprocess.py", line 219, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '[u'pip', u'install', u'-q', u'django-cms>=3.5,<3.6', u'djangocms-admin-style>=1.2,<1.3', u'django-treebeard>=4.0,<5.0', u'https://github.com/divio/djangocms-text-ckeditor/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-file/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-link/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-style/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-googlemap/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-snippet/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-picture/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-video/archive/master.zip?1520455195.14', u'https://github.com/divio/djangocms-column/archive/master.zip?1520455195.14', u'easy_thumbnails', u'django-filer>=1.3', u'Django<2.0', u'pytz', u'django-classy-tags>=0.7', u'html5lib>=0.999999,<0.99999999', u'Pillow>=3.0', u'django-sekizai>=0.9', u'six']' returned non-zero exit status 1
Does anyone of you have an solution for this?
(My Python version: 2.7.13)
It looks like it is the Pillow installation that is failing. You need to install the python development libraries first
# Python 2
sudo apt-get install python-dev python-setuptools
# Python 3
sudo apt-get install python3-dev python3-setuptools
There are some other prerequisites you'll have to install as well. The Pillow docs give the following prerequisites for Ubuntu 14.04. I'm not sure what the equivalents are for Raspian Stretch
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev \
libfreetype6-dev liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev \
tcl8.6-dev tk8.6-dev python-tk
See the Pillow docs for more information.
Since you're starting a new project, allow me to encourage you to use Python 3!
Instead of running the Django CMS installer, I would try to get Pillow to install by itself. If it fails, then the error message should be more obvious.
pip install Pillow
If the latest version fails, you could try 3.0, since that seems to be the minimum version for Django CMS.
pip install 'Pillow==3.0'

Error installing pip package on debian / python 3.4

I have python 3.4 compiled from sources on my debian 7.8.
I have already installed some Python packages using pip and virtualenv (django, pillow etc), but i have an error installing python-phonenumbers (https://github.com/daviddrysdale/python-phonenumbers).
I tried it using virtualenv and without, running pip3 install phonenumbers and manually downloading archive and running python3 setup.py install. Every time I get same error:
Command "/usr/local/bin/python3.4 -c "import setuptools, tokenize;
__file__='/tmp/pip-build-ogsbxm_d/phonenumbers/setup.py';
exec(compile(getattr(tokenize, 'open', open)(__file__)
.read().replace('\r\n', '\n'), __file__, 'exec'))"
install --record /tmp/pip-98gunm55-record/install-record.txt
--single-version-externally-managed --compile"
failed with error code -9 in /tmp/pip-build-ogsbxm_d/phonenumbers
I tried it on my windows and ubuntu 14.04 - everything ok. How can i fix it?
For Ubuntu 14.04, from Docker image python:3.4.3-slim this combination worked for me:
sudo apt-get update
sudo apt-get install -y build-essential
sudo apt-get install -y python3.4-dev
sudo apt-get install -y libpq-dev
pip3 install psycopg2
Note build-essential package. It was crucial in my case. Maybe it will help you too.

How to install the library netifaces for Python3 in Ubuntu 12.04?

I made a program in Python3 which uses the package netifaces, I installed it with pip3 in two computers which had Ubuntu 13.04 and Ubuntu 13.10. However, I need to install it in other computer which has Ubuntu 12.04, and here I cannot install pip3 (python3-pip) because it is not on the repositories.
What I did was the next steps:
sudo aptitude install python3-setuptools
sudo easy_install3 pip
And then I had pip3 available. The problem is when I tried to install netifaces with pip3, which gives me next error:
error: command 'gcc' failed with exit status 1
Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/netifaces/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-gkaftl-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/netifaces
Storing debug log for failure in /home/anubia/.pip/pip.log
If I install netifaces with pip or aptitude or apt-get the program does not recognise the library, because its documents are installed in python2 folders. I even tried to do a symbolic link from python3 folders to them, but it did not work.
Any ideas, please?
Solved!
I had to install the package python3-dev too, then the installation of netifaces from pip3 did not give me an error and now I can use it.
So the whole process (in my case) was:
sudo aptitude install python3-setuptools
sudo easy_install3 pip
sudo aptitude install python3-dev
sudo pip3 install netifaces

Categories