Using PL/Pythonu with virtualenv
I am writing function in postgres in python using the PL/Pythonu extension in postgres. I would like postgres to use my virutal environment (I am using virtualenv) instead of the global install. How do I go about doing this?
As it turns out, one must add the path to where the libraries are found to the PYTHONPATH environment variable in postgres. Don't forget to quote your value eg:
PYTHONPATH='path to libraries'
Answered over at https://stackoverflow.com/a/24892335/5430
tl;dr - exec activate_this.py inside plpython function will set python interpretor for the life of the postgresql session.