I'm trying to install Psycopg2 on my Mac-book. I still get the same error. I found a lot of same questions on Stack Overflow but no answer seems to work. I think it is outdated. I'm using:
Mac osx 10.9.5
Python 3.4.3
My error code is:
Running setup.py egg_info for package psycopg2 Error: pg_config
executable not found.
Please add the directory containing pg_config to the PATH or specify
the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'. Complete output from
command python setup.py egg_info: running egg_info
writing pip-egg-info/psycopg2.egg-info/PKG-INFO
writing top-level names to
pip-egg-info/psycopg2.egg-info/top_level.txt
writing dependency_links to
pip-egg-info/psycopg2.egg-info/dependency_links.txt
warning: manifest_maker: standard file '-c' not found
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
Command python setup.py egg_info failed with error code 1 in
/Users/stevengerrits/build/psycopg2 Storing complete log in
/Users/stevengerrits/Library/Logs/pip.log
You don't seem to have postgres installed, check how to install postgresql in your system, one of the way is
brew install postgresql
(if you use homebrew- recommended)
or download the postgres app from postgresapp.com, pg_config should come with postgres and psycopg2 is trying to find it.
To install psycop2
you need have installed server before( I have installed PostgresApp)
Run manually command including the path of pg_config
program in PATH
env variable, in my case:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin/
and then run
pip3 install psycopg2
EDIT:
Check directory of pg_config
:
which pg_config
OSX doesn't include PostgreSQL anymore, so you need to install it in some way to build the binary part of psycopg2 module.
I've used both brew
and port
. Installing any PostgreSQL version through one of them will enable you to build the module.
If you install Postgres in other ways, you need to check that the executable pg_config
in in your path.
You can check for pg_config
presence using the command
which -a pg_config
If you have Postgres installed and the aforementioned command doesn't return anything, you need to manually find the pg_config
executable and put its containing directory in your PATH with:
export PATH=/path/to/postgresql/bin/:$PATH
Edit:
If you already installed it through homebrew, but it is not in your path, you should check if the /usr/local/bin
directory is present in your path and add it if missing
If the directory is there, you can try to relink postgres with the following command
brew unlink postgresql && brew link postgresql
If you use Docker and you do not want to install postgresql
in you host system,
you can try to use package psycopg2-binary
and use postgresql
in container.