How to fix Error: pg_config executable not found. pg_config is required to build psycopg2 from source.

When using pip to install the pyscopg2 package, you might encounter the following error:

Error: pg_config executable not found.

pg_config is required to build psycopg2 from source. 
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'.

If you prefer to avoid building psycopg2 from source, please install 
the PyPI 'psycopg2-binary' package instead.

This error occurs because the path to pg_config is not found in your system.

The pg_config executable file can be obtained by installing PostgreSQL in your system.

To resolve this error, you need to install PostgreSQL, which contains the pg_config executable file.

Use one of the following commands for Mac or Linux:

# For Mac
brew install postgresql

# For Linux
# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# Update the package lists:
sudo apt-get update

# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
sudo apt-get -y install postgresql

For Windows, you can download the installer from the PostgreSQL download page and run the installer.

Once finished, you need to add the path to Postgres bin/ folder on the environment variable as shown below:

Now you should be able to install psycopg2 without receiving the error.

If installing PostgreSQL doesn’t work, then you can try to use the psycopg2-binary package instead of psycopg2.

pip install psycopg2-binary

# For pip3:
pip3 install psycopg2-binary

# if you don't have pip in your PATH:
python -m pip install psycopg2-binary

python3 -m pip install psycopg2-binary

# Windows
py -m pip install psycopg2-binary

# Anaconda
conda install psycopg2-binary

# Jupyter Notebook
!pip install psycopg2-binary

The psycopg2-binary is a pre-compiled psycopg2 distribution, which isn’t recommended for production use.

This is because the C libraries used to compile the package can’t be upgraded, requiring you to wait until the package maintainer released a newer version.

You need to build psycopg2 from source if you want to maintain the ability to upgrade the package binary yourself.

I hope this tutorial is helpful. See you in other tutorials! 👋

Take your skills to the next level ⚡️

I'm sending out an occasional email with the latest tutorials on programming, web development, and statistics. Drop your email in the box below and I'll send new stuff straight into your inbox!

No spam. Unsubscribe anytime.