Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install psycopg2 for Anaconda Python

I have Anaconda Python 3.4, however whenever I run older code I switch to Anaconda Python 2.7 by typing "source activate python2". My issue is that I have psycopg2 installed for Anaconda Python 3.4, but not for Anaconda Python 2.7. When I run pip install psycopg2 (on Python 2.7) I get the following message:

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 am fairly new to programming and need help in:

1. Obtaining directory containing pg_config
2. Finding the path to Anaconda Python 2.7 
3. Adding pg_config to the PATH.

After I complete these steps I should be able to pip install Install psycopg2

like image 906
user3062459 Avatar asked Jul 28 '15 15:07

user3062459


People also ask

What is psycopg2 in Python?

Psycopg2 is a PostgreSQL database driver, it is used to perform operations on PostgreSQL using python, it is designed for multi-threaded applications. SQL queries are executed with psycopg2 with the help of the execute() method. It is used to Execute a database operation query or command.


2 Answers

If you have anaconda, you can sidestep some of these headaches.

You said you have the Anaconda distribution of python and a quick look at the included packages shows that psycopg2 is already there (although not in the installer). You can simply:

source activate python2
conda install psycopg2

This allows the conda installer to manage all of the binary dependencies. Also makes it easier to upgrade.

If that does not work or there are reasons for not liking that package (version issues?) then that is a different question.

like image 67
Phil Cooper Avatar answered Nov 15 '22 02:11

Phil Cooper


You need development system package for PostgreSQL which contains header files required to compile psycopg2 extension. For my CentOS 64 bit the command to install is:

yum install postgresql-devel.x86_64

but it depends on the OS - for Ubuntu that would be apt-get install ... - the name of the package varies slightly between distros.
Steps 2 and 3 should be unnecessary after you do this.

EDIT: For Mac OS that would be just:

brew install postgresql

as written here

like image 20
ElmoVanKielmo Avatar answered Nov 15 '22 04:11

ElmoVanKielmo