Re: Changing Pl/Python default interpreter

Colin Brisson <[email protected]>
Newsgroups gmane.comp.db.postgresql.novice
Message-ID <CAHgu9=8Rbnqgp=qCjFXVRRpVaRdMGeDU70Ftk4Y8CbHigEMz+A@mail.gmail.com>
Hi Tom,

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.
   - Activate virtualenv inside the default interpreter by using
   activate_this.py (https://gist.github.com/dmckeone/69334e2d8b27f586414a).
   - Set PYTHONPATH inside Postgre environment file (not compatible with
   Anaconda).


Regards,

Colin

On Sat, Dec 15, 2018 at 9:52 AM Colin Brisson <[email protected]> wrote:

> Hi Tom,
>
> 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.
>    - Activate virtualenv inside the default interpreter by using
>    activate_this.py (https://gist.github.com/dmckeone/69334e2d8b27f586414a
>    ).
>    - Set PYTHONPATH inside Postgre environment file (not compatible with
>    Anaconda).
>
>
> Regards,
>
> Colin
>
>
> On Fri, Dec 14, 2018 at 9:42 PM Tom Lane <[email protected]> wrote:
>
>> Colin Brisson <[email protected]> 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.
>>
>>                         regards, tom lane
>>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.