Utiliser Python installé par pyenv pour l'environnement d'exécution PL / Python

introduction

Python devient de plus en plus un outil d'analyse de données avec la sortie de packages d'analyse tels que chainer et tensorflow. Cela attire l'attention. Il existe une fonction appelée "PL / Python" qui peut utiliser un tel Python comme langage d'implémentation de fonction de PostgreSQL.

Par défaut, PL / Python utilisera le système Python. Par contre, si vous ne voulez pas polluer le Python du système, il semble que vous puissiez séparer l'environnement Python avec pyenv et mettre le package d'analyse.

Par conséquent, j'ai étudié comment utiliser Python installé par pyenv pour l'environnement d'exécution PL / Python.

1. Installation de Python avec pyenv

PL / Python fait référence à libpython ~~ .so. Puisque la bibliothèque partagée n'est pas installée par l'installation normale de pyenv Procédez comme suit:

CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.10

C'est OK du côté pyenv

2. Compilation PL / Python sur PostgreSQL

PostgreSQL compile à partir des sources. https://github.com/postgres/postgres De là, je pense que vous pouvez faire git clone.

Ensuite, avec configure, procédez comme suit.

./configure --prefix=/home/user/pgsql/pgsql9_5 --with-python=yes PYTHON=/home/user/.pyenv/versions/2.7.10/bin/python

Vous pouvez ou non ajouter «--prefix». L'important est --with-python=yes Quand PYTHON=/home/user/.pyenv/versions/2.7.10/bin/python

Si vous n'ajoutez pas --with-python = yes, PL / Python ne sera pas compilé en premier lieu. PYTHON = / home / user / .pyenv / versions / 2.7.10 / bin / python a été installé avec pyenv Spécifie l'emplacement du binaire Python. Ensuite, PL / Python sera compilé pour utiliser Python de pyenv.

Lorsque vous exécutez configure, la description suivante sera écrite dans leMakefile.global généré.

python_includespec  = -I/home/user/.pyenv/versions/2.7.10/include/python2.7
python_libdir       = /home/user/.pyenv/versions/2.7.10/lib
python_libspec      = -L/home/user/.pyenv/versions/2.7.10/lib -lpython2.7

Après cela, si vous make; make install PostgreSQL, l'environnement d'exécution de PL / Python sera Python installé par pyenv.

Supplément

J'ai compilé tout PostgreSQL, mais dois-je compiler uniquement PL / Python?

Recommended Posts

Utiliser Python installé par pyenv pour l'environnement d'exécution PL / Python
Utilisez smbus avec python3 sous environnement pyenv
Construire un environnement Anaconda pour Python avec pyenv
Utiliser plusieurs versions de l'environnement python avec pyenv
Utilisez python installé par Pyenv avec Sublime REPL de Sublime Text 3
Utiliser Python mis en pyenv avec NeoVim
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Créer un environnement d'exécution Windows Python avec VScode + Remote WSL
tkinter n'a pas pu être utilisé avec python installé par pyenv de anyenv
Utiliser DeepL avec python (pour la traduction d'articles)
Utiliser Anaconda-Python installé avec pyenv depuis openFrameworks
Créez un environnement virtuel pour python avec pyenv
Préparer l'environnement d'exécution de Python3 avec Docker
Créer un environnement python avec pyenv sur EC2 (ubuntu)
Créez un environnement d'exécution pour chaque langue avec boot2docker
Utilisez Logger avec Python pour le moment
Envelopper C avec Cython pour une utilisation à partir de Python
Rendre OpenCV3 disponible à partir de python3 installé avec pyenv
Traitement d'image avec la configuration de l'environnement Python pour Windows
environnement de développement python -utilisation de pyenv et virtualenv-
Commandes pour créer un environnement python3 avec virtualenv
Comment utiliser tkinter avec python dans pyenv
Utiliser jupyter-lab installé dans l'environnement virtuel python (venv)
Utiliser Python dans un environnement Anaconda avec VS Code
Envelopper C ++ avec Cython pour une utilisation à partir de Python
Créer un environnement d'exécution python avec VS Code
[Python] Utiliser JSON avec Python
Utiliser mecab avec Python 3
Utiliser DynamoDB avec Python
Utilisez Python 3.8 avec Anaconda
Utiliser python avec docker
environnement python avec docker-compose
Installez Python avec pyenv
Environnement virtuel avec Python 3.6
Maintenance de l'environnement Python pour les projets
Notes de l'installation de Homebrew à la création d'un environnement Anaconda pour Python avec pyenv
J'ai installé Pygame avec Python 3.5.1 dans l'environnement de pyenv sur OS X
Construire un environnement Python avec pyenv, pyenv-virtualenv, Anaconda (Miniconda)
Créez un environnement virtuel avec Anaconda installé via Pyenv
Créez un environnement python pour chaque répertoire avec pyenv-virtualenv
Créer un environnement pour le traitement du langage naturel avec Python
[Python] Construction de l'environnement Django (pyenv + pyenv-virtualenv + Anaconda) pour macOS
Installez le dernier Python de pyenv installé par homebrew
Utilisez AWS SDK for Python (boto) dans un environnement Proxy
Utiliser Anaconda dans un environnement pyenv
Installer l'environnement Python avec Anaconda
Gérez l'environnement python avec virtualenv
Utiliser l'API Twitter avec Python
Utiliser TUN / TAP avec Python
Créer un environnement python3 avec ubuntu 16.04
Construction de l'environnement Python pour Mac
Préparer l'environnement python3 avec Docker
Construire un environnement python avec direnv
Construction de l'environnement Python3 (pour les débutants)
Mesure du temps d'exécution avec Python avec
Réinstaller python avec pyenv avec -fPIC
[Pour organiser] Environnement de développement Python
python avec pyenv et venv
Utiliser l'API subsonique avec python3
Obtenez un environnement de développement Python propre avec pyenv + pipx + Poetry