Verwenden Sie Python, das von pyenv für die PL / Python-Ausführungsumgebung installiert wurde

Einführung

Python wird mit der Veröffentlichung von Analysepaketen wie chainer und tensorflow immer mehr zu einem Datenanalysetool. Es zieht die Aufmerksamkeit auf sich. Es gibt eine Funktion namens "PL / Python", die Python als Funktionsimplementierungssprache von PostgreSQL verwenden kann.

Standardmäßig verwendet PL / Python das System Python. Wenn Sie jedoch den Python des Systems nicht verschmutzen möchten, können Sie die Python-Umgebung möglicherweise mit pyenv trennen und das Analysepaket ablegen.

Daher habe ich untersucht, wie Python verwendet wird, das von pyenv für die PL / Python-Ausführungsumgebung installiert wurde.

1. Python-Installation mit pyenv

PL / Python verweist auf libpython ~~ .so. Da die gemeinsam genutzte Bibliothek nicht durch normale "pyenv install" installiert wird Mach Folgendes:

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

Dies ist auf der Pyenv-Seite in Ordnung

2. PL / Python-Kompilierung unter PostgreSQL

PostgreSQL wird aus dem Quellcode kompiliert. https://github.com/postgres/postgres Von hier aus können Sie "Git Clone" machen.

Gehen Sie dann mit configure wie folgt vor.

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

Sie können "--prefix" hinzufügen oder nicht. Wichtig ist --with-python=yes Wann PYTHON=/home/user/.pyenv/versions/2.7.10/bin/python

Wenn Sie nicht "--with-python = yes" hinzufügen, wird PL / Python überhaupt nicht kompiliert. PYTHON = / home / user / .pyenv / version / 2.7.10 / bin / python wurde mit pyenv installiert Gibt den Speicherort der Python-Binärdatei an. PL / Python wird dann kompiliert, um Pyenvs Python zu verwenden.

Wenn Sie configure ausführen, wird die folgende Beschreibung in die generierteMakefile.global geschrieben.

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

Wenn Sie danach PostgreSQL "make; make install" machen, wird die Ausführungsumgebung von PL / Python von pyenv Python installiert.

Ergänzung

Ich habe das gesamte PostgreSQL kompiliert, aber sollte ich nur PL / Python kompilieren?

Recommended Posts

Verwenden Sie Python, das von pyenv für die PL / Python-Ausführungsumgebung installiert wurde
Verwenden Sie smbus mit python3 in einer pyenv-Umgebung
Erstellen einer Anaconda-Umgebung für Python mit pyenv
Verwenden Sie mit pyenv mehrere Versionen der Python-Umgebung
Verwenden Sie Python, das von Pyenv mit Sublime REPL von Sublime Text 3 installiert wurde
Verwenden Sie Python in pyenv mit NeoVim
[Ubuntu 18.04] Erstellen Sie eine Python-Umgebung mit pyenv + pipenv
Erstellen Sie eine Windows Python-Ausführungsumgebung mit VScode + Remote WSL
tkinter konnte nicht mit Python verwendet werden, das von pyenv of anyenv installiert wurde
Verwenden Sie DeepL mit Python (für die Artikelübersetzung)
Verwenden Sie Anaconda-Python, das mit pyenv von openFrameworks installiert wurde
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Erstellen Sie mit boot2docker eine Ausführungsumgebung für jede Sprache
Verwenden Sie vorerst Logger mit Python
Wickeln Sie C mit Cython für Python ein
Stellen Sie OpenCV3 in Python3 zur Verfügung, das mit pyenv installiert wurde
Bildverarbeitung mit Python Environment Setup für Windows
Python-Entwicklungsumgebung - Verwendung von Pyenv und Virtualenv-
Befehle zum Erstellen einer Python3-Umgebung mit virtualenv
Wie man tkinter mit Python in Pyenv benutzt
Verwenden Sie jupyter-lab, das in einer virtuellen Python-Umgebung (venv) installiert ist.
Verwenden Sie Python in einer Anaconda-Umgebung mit VS-Code
Wrap C ++ mit Cython zur Verwendung von Python
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
[Python] Verwenden Sie JSON mit Python
Verwenden Sie Mecab mit Python 3
Verwenden Sie DynamoDB mit Python
Verwenden Sie Python 3.8 mit Anaconda
Verwenden Sie Python mit Docker
Python-Umgebung mit Docker-Compose
Installieren Sie Python mit pyenv
Virtuelle Umgebung mit Python 3.6
Wartung der Python-Umgebung für Projekte
Hinweise von der Installation von Homebrew bis zum Erstellen einer Anaconda-Umgebung für Python mit pyenv
Ich habe Pygame mit Python 3.5.1 in der Umgebung von pyenv unter OS X installiert
Erstellen einer Python-Umgebung mit pyenv, pyenv-virtualenv, Anaconda (Miniconda)
Erstellen Sie eine virtuelle Umgebung mit Anaconda, die über Pyenv installiert ist
Erstellen Sie mit pyenv-virtualenv eine Python-Umgebung für jedes Verzeichnis
Erstellen einer Umgebung für die Verarbeitung natürlicher Sprache mit Python
[Python] Django-Umgebungskonstruktion (pyenv + pyenv-virtualenv + Anaconda) für macOS
Installieren Sie das neueste Python von pyenv, das von Homebrew installiert wurde
Verwenden Sie das AWS SDK für Python (boto) in einer Proxy-Umgebung
Verwenden Sie Anaconda in einer Pyenv-Umgebung
Installieren Sie die Python-Umgebung mit Anaconda
Verwalten Sie die Python-Umgebung mit virtualenv
Verwenden Sie die Twitter-API mit Python
Verwenden Sie TUN / TAP mit Python
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Aufbau einer Python-Umgebung für Mac
Bereiten Sie die Python3-Umgebung mit Docker vor
Erstellen Sie mit direnv eine Python-Umgebung
Python3-Umgebungskonstruktion (für Anfänger)
Messung der Ausführungszeit mit Python With
Installieren Sie Python mit pyenv mit -fPIC neu
[Zum Organisieren] Python-Entwicklungsumgebung
Python mit Pyenv und Venv
Verwenden Sie die Unterschall-API mit Python3
Holen Sie sich eine saubere Python-Entwicklungsumgebung mit pyenv + pipx + Poetry