# Python3 Support ## How to build: ``` # Install Python3 (take centos7 as example) yum install -y python36-devel # Configure build environment to install at /usr/local/gpdb PYTHON=/usr/bin/python3.6 ./configure --with-perl --with-python --with-libxml --prefix=/usr/local/gpdb # Compile and install make -j8 make -j8 install ``` ## How to use: ``` # Ensure your environment include the SAME python version as the build environment, in our example is Python3.6. # If you install Python in a non-system folder, you also need to add $PYTHONHOME/lib into your shared library path. yum install -y python36-devel # Install Python3 packages: wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py pip3 install numpy # Test Python3 support in GPDB CREATE LANGUAGE plpython3u; CREATE FUNCTION import_succeed() returns text AS $$ import sys import numpy return "succeeded, as expected" $$ LANGUAGE plpython3u; SELECT import_succeed(); CREATE TYPE named_value AS ( name text, value integer); CREATE OR REPLACE FUNCTION make_pair_sets (name text) RETURNS SETOF named_value AS $$ import numpy as np return ((name, i) for i in np.arange(1)) $$ LANGUAGE plpython3u; SELECT * from make_pair_sets('test'); ```