PostgreSQL PL / Python: llame al procedimiento almacenado en virtualenv

Cuando llamo a un procedimiento almacenado PostgreSQL PL / Python en mi aplicación Python, parece que se ejecuta en un proceso separado que se ejecuta como usuariopostgres. Hasta ahora, esto solo tuvo el efecto secundario de que tuve que hacer que mi archivo de registro fuera editable tanto para mí como para el usuario de la base de datos, por lo que la aplicación y el procedimiento almacenado pueden escribir en él.

Ahora, sin embargo, comencé a usarvirtualenv y agregó un número de.pth archivos a mi~/.virtualenvs/virt_env/lib/python2.7/site-packages/ carpeta que agrega las rutas a mis módulos a la ruta de Python.

Cuando se ejecuta el procedimiento almacenado, el usuariopostgres no está en el mismo entorno virtual que yo, por lo que el procedimiento almacenado no encuentra mis módulos. Puedo modificarPYTHONPATH en elglobal entorno PostgreSQL, pero tengo que cambiar eso cada vez que cambio de entornos virtuales, lo cual es un poco contrario al propósito de virtualenv ...

¿Cómo puedo extender la ruta de Python para los procedimientos almacenados?

ACTUALIZA:

A similar question ha sido preguntado y la resolución allí fue modificar la variable de entorno PYTHONPATH en Postgres; sin embargo, parece que no hay una forma estándar de especificar variables de entorno para PostgreSQL; al menos, no es una solución viable en Mac OSX.

Respuestas a la pregunta(4)

Su respuesta a la pregunta