Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mac + virtualenv + pip + postgresql = Error: pg_config executable not found

I was trying to install postgres for a tutorial, but pip gives me error:

pip install psycopg 

A snip of error I get:

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'. 

Where is pg_config in my virtualenv? How to configure it? I'm using virtualenv because I do not want a system-wide installation of postgres.

like image 743
KGo Avatar asked Nov 24 '13 03:11

KGo


2 Answers

On the Mac, if you're using Postgres.app, the pg_config file is in your /Applications/Postgres.app/Contents/Versions/<current_version>/bin directory. That'll need to be added to your system path to fix this error, like this:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/<current_version>/bin 

So for example, if the current Postgres.app version is 9.5, this export line would be:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.5/bin 

With more recent versions of the Postgres.app (> 9.5?), you can simply add "latest" in place of the version number, like so:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin 
like image 118
bkev Avatar answered Oct 18 '22 20:10

bkev


On Mac, the solution is to install postgresql:

brew install postgresql 

On CentOS, the solution is to install postgresql-devel:

sudo yum install postgresql-devel 

pg_config is in postgresql-devel package

like image 39
Mingyu Avatar answered Oct 18 '22 20:10

Mingyu