Search code examples
pythondjangomacospostgresql

How to find pg_config path


Complete newbie here, trying to set up Django to work with PostgreSQL.

I'm using mac osx 10.6.8. I have also installed PostgreSQL 9.3

When I run pip install psycopg2 in terminal I get the following error

Downloading/unpacking psycopg2
  Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded
  Running setup.py (path:/private/var/folders/A9/A99cs6x0FNusPejCVkYNTE+++TI/-Tmp-/pip_build_bengorman/psycopg2/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

creating pip-egg-info/psycopg2.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

writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.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'.

I've seen a number of posts on this
how-to-install-psycopg2-with-pip-on-python
pg-config-executable-not-found

but I have no clue how to find the bin folder location containing pg_config. Any tips on finding this path?


Solution

  • I recommend that you try to use Postgres.app. (http://postgresapp.com) This way you can easily turn Postgres on and off on your Mac. Once you do, add the path to Postgres to your .profile file by appending the following:

    PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
    

    Only after you added Postgres to your path you can try to install psycopg2 either within a virtual environment (using pip) or into your global site packages.