Thank you for your answer. Postgre's Ubuntu package is great, both Python 2 and 3 are supported out of the box. However, I would like to use virtual environments instead of global install.
I have found a couple of solutions but none of them are really satisfactory:
Recompile Postgre from source with the PYTHON variable pointing to anaconda.
Thank you for your answer. Postgre's Ubuntu package is great, both Python 2 and 3 are supported out of the box. However, I would like to use virtual environments instead of global install.
I have found a couple of solutions but none of them are really satisfactory:
Recompile Postgre from source with the PYTHON variable pointing to anaconda.
Colin Brisson <colibrisson@gmail.com> writes: > I'm running PostgreSQL 10.6 (Ubuntu 10.6-0ubuntu0.18.10.1) with Pl/Python. > Everything is working fine but I would like to change the default > interpreter used by Pl/Python (without recompiling Postgre from scratch). > The docs say that if the PYTHON environment variable wasn't set during > compilation, Pl/Python use any version it found. I wrote a small script and > I found which interpreter Pl/Python is using by default. Now I would like > to modify the symlink it uses to run Python -- I'm just assuming it's a > symlink but maybe I'm wrong. The problem is that I tried to modify all > python executables in /usr/bin but it didn't change Pl/Python default > behavior. Does anyone know where I can find which file Pl/Python use to run > Python? Is there a better approach to change the default interpreter?
plpython loads the relevant libpython.so, it doesn't invoke the "python" executable. I do not think you can get it to use a different-version libpython without recompiling. It will *certainly* not work to sub in python 3.x for python 2.x or vice versa without a recompile, if that's what you were hoping for, because some of the library APIs changed.