Embedded Python is enabled but an error was thrown during initialization.
Hi there, sql>create or replace function f1() returns table(v1 INT) more>LANGUAGE PYTHON { more> return [1,2,3] more>}; operation successful (3.658ms) sql>select * from f1(); Embedded Python is enabled but an error was thrown during initialization. Does one have to setup another python env variables (like it's done on MonetDB for Windows: PYTHONHOME, PYTHONPATH) on Linux? p.s. Here are is how I setup environment 1) installed MonetDB v11.27.5 (Jul2017-SP1) binaries on centos-release-7-4.1708.el7.centos.x86_64: sudo yum install https://dev.monetdb.org/downloads/epel/MonetDB-release-epel.noarch.rpm sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/MonetDB-stream-11.27.5-20170... sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/MonetDB-client-11.27.5-20170... sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/MonetDB5-server-11.27.5-2017... sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/MonetDB-SQL-server5-11.27.5-... sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/MonetDB-python2-11.27.5-2017... 2) installed Anaconda2 Python 2.7.13 |Anaconda 4.4.0 (64-bit)| (default, Dec 20 2016, 23:09:15) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2 export PATH="/home/akravchenko/anaconda2/bin:$PATH" 3) created and started Monet database: monetdbd create hnode1_dbfarm monetdbd set port=50001 hnode1_dbfarm monetdbd set control=yes hnode1_dbfarm monetdbd set passphrase=monetdb hnode1_dbfarm monetdbd start hnode1_dbfarm monetdb create hnode1_dbfarm_db1 *monetdb set embedpy=true hnode1_dbfarm_db1* monetdb start hnode1_dbfarm_db1 monetdb release hnode1_dbfarm_db1 4)monetdbd get all hnode1_dbfarm property value hostname somehostname dbfarm hnode1_dbfarm status monetdbd[31089] 1.7 (Jul2017-SP1) is serving this dbfarm mserver /usr/bin/mserver5 logfile hnode1_dbfarm/merovingian.log pidfile hnode1_dbfarm/merovingian.pid sockdir /tmp listenaddr localhost port 50001 exittimeout 60 forward proxy discovery yes discoveryttl 600 control yes passphrase {SHA512}a73f1d86383446438ac64f56e15ada38b41fbb18f029d2181723aeb2acac6a831f60e5fdbd64ac2c8c70e035dd44cbbe3b45565ef2d58feb2821a2078c7fad35 mapisock /tmp/.s.monetdb.50001 controlsock /tmp/.s.merovingian.50001 5) monetdb get all hnode1_dbfarm_db1 name prop source value hnode1_dbfarm_db1 name - hnode1_dbfarm_db1 hnode1_dbfarm_db1 type default database hnode1_dbfarm_db1 shared default yes hnode1_dbfarm_db1 nthreads default 32 hnode1_dbfarm_db1 optpipe default default_pipe hnode1_dbfarm_db1 readonly default no hnode1_dbfarm_db1 embedr default no hnode1_dbfarm_db1 embedpy local yes hnode1_dbfarm_db1 embedpy3 default no hnode1_dbfarm_db1 nclients default 64 hnode1_dbfarm_db1 dbextra default <unknown> Thank you, Anton
ok, looks like export PYTHONPATH="/home/akravchenko/anaconda2/lib/python2.7/site-packages" fixed that issue. Anton On Fri, Sep 15, 2017 at 9:01 AM, Anton Kravchenko < kravchenko.anton86@gmail.com> wrote:
Hi there,
sql>create or replace function f1() returns table(v1 INT) more>LANGUAGE PYTHON { more> return [1,2,3] more>}; operation successful (3.658ms) sql>select * from f1(); Embedded Python is enabled but an error was thrown during initialization.
Does one have to setup another python env variables (like it's done on MonetDB for Windows: PYTHONHOME, PYTHONPATH) on Linux?
p.s. Here are is how I setup environment 1) installed MonetDB v11.27.5 (Jul2017-SP1) binaries on centos-release-7-4.1708.el7.centos.x86_64: sudo yum install https://dev.monetdb.org/downloads/epel/MonetDB- release-epel.noarch.rpm sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/ MonetDB-stream-11.27.5-20170727.el7.centos.x86_64.rpm sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/ MonetDB-client-11.27.5-20170727.el7.centos.x86_64.rpm sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/ MonetDB5-server-11.27.5-20170727.el7.centos.x86_64.rpm sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/ MonetDB-SQL-server5-11.27.5-20170727.el7.centos.x86_64.rpm sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/ MonetDB-python2-11.27.5-20170727.el7.centos.x86_64.rpm
2) installed Anaconda2 Python 2.7.13 |Anaconda 4.4.0 (64-bit)| (default, Dec 20 2016, 23:09:15) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
export PATH="/home/akravchenko/anaconda2/bin:$PATH"
3) created and started Monet database:
monetdbd create hnode1_dbfarm
monetdbd set port=50001 hnode1_dbfarm
monetdbd set control=yes hnode1_dbfarm
monetdbd set passphrase=monetdb hnode1_dbfarm
monetdbd start hnode1_dbfarm
monetdb create hnode1_dbfarm_db1
*monetdb set embedpy=true hnode1_dbfarm_db1*
monetdb start hnode1_dbfarm_db1
monetdb release hnode1_dbfarm_db1 4)monetdbd get all hnode1_dbfarm property value hostname somehostname dbfarm hnode1_dbfarm status monetdbd[31089] 1.7 (Jul2017-SP1) is serving this dbfarm mserver /usr/bin/mserver5 logfile hnode1_dbfarm/merovingian.log pidfile hnode1_dbfarm/merovingian.pid sockdir /tmp listenaddr localhost port 50001 exittimeout 60 forward proxy discovery yes discoveryttl 600 control yes passphrase {SHA512}a73f1d86383446438ac64f56e15ada 38b41fbb18f029d2181723aeb2acac6a831f60e5fdbd64ac2c8c70e035dd 44cbbe3b45565ef2d58feb2821a2078c7fad35 mapisock /tmp/.s.monetdb.50001 controlsock /tmp/.s.merovingian.50001
5) monetdb get all hnode1_dbfarm_db1 name prop source value hnode1_dbfarm_db1 name - hnode1_dbfarm_db1 hnode1_dbfarm_db1 type default database hnode1_dbfarm_db1 shared default yes hnode1_dbfarm_db1 nthreads default 32 hnode1_dbfarm_db1 optpipe default default_pipe hnode1_dbfarm_db1 readonly default no hnode1_dbfarm_db1 embedr default no hnode1_dbfarm_db1 embedpy local yes hnode1_dbfarm_db1 embedpy3 default no hnode1_dbfarm_db1 nclients default 64 hnode1_dbfarm_db1 dbextra default <unknown>
Thank you, Anton
Out of curiosity, I tried to check embedpy3 with Python3.6 sql>create or replace function f1() returns table(v1 INT) more>LANGUAGE PYTHON { more> return [1,2,3] more>}; operation successful (1.926ms) sql> sql>select * from f1(); TypeException:user.s6_1[3]:'pyapi3.eval' undefined in: X_4:bat[:int] := pyapi3.eval(7f6160137c10:ptr, "{\n return [1,2,3]\n};":str); sql> Was MonetDB v11.27.5 Embedded Python ever tested against Python3.6 on CentOS? p.s. 1) export PYTHONPATH="/home/akravchenko/anaconda3/lib/python3.6/site-packages" export PATH="/home/akravchenko/anaconda3/bin:$PATH" 2) monetdb get all hnode1_dbfarm_db2 name prop source value hnode1_dbfarm_db2 name - hnode1_dbfarm_db2 hnode1_dbfarm_db2 type default database hnode1_dbfarm_db2 shared default yes hnode1_dbfarm_db2 nthreads default 32 hnode1_dbfarm_db2 optpipe default default_pipe hnode1_dbfarm_db2 readonly default no hnode1_dbfarm_db2 embedr default no hnode1_dbfarm_db2 embedpy default no hnode1_dbfarm_db2 embedpy3 local yes hnode1_dbfarm_db2 nclients default 64 hnode1_dbfarm_db2 dbextra default <unknown> Thank you, Anton On Fri, Sep 15, 2017 at 10:10 AM, Anton Kravchenko < kravchenko.anton86@gmail.com> wrote:
ok, looks like export PYTHONPATH="/home/akravchenko/anaconda2/lib/python2.7/site- packages" fixed that issue.
Anton
On Fri, Sep 15, 2017 at 9:01 AM, Anton Kravchenko < kravchenko.anton86@gmail.com> wrote:
Hi there,
sql>create or replace function f1() returns table(v1 INT) more>LANGUAGE PYTHON { more> return [1,2,3] more>}; operation successful (3.658ms) sql>select * from f1(); Embedded Python is enabled but an error was thrown during initialization.
Does one have to setup another python env variables (like it's done on MonetDB for Windows: PYTHONHOME, PYTHONPATH) on Linux?
p.s. Here are is how I setup environment 1) installed MonetDB v11.27.5 (Jul2017-SP1) binaries on centos-release-7-4.1708.el7.centos.x86_64: sudo yum install https://dev.monetdb.org/downlo ads/epel/MonetDB-release-epel.noarch.rpm sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/MonetDB- stream-11.27.5-20170727.el7.centos.x86_64.rpm sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/MonetDB- client-11.27.5-20170727.el7.centos.x86_64.rpm sudo yum install https://www.monetdb.org/downlo ads/epel/7/x86_64/MonetDB5-server-11.27.5-20170727.el7.centos.x86_64.rpm sudo yum install https://www.monetdb.org/downlo ads/epel/7/x86_64/MonetDB-SQL-server5-11.27.5-20170727.el7. centos.x86_64.rpm sudo yum install https://www.monetdb.org/downloads/epel/7/x86_64/MonetDB- python2-11.27.5-20170727.el7.centos.x86_64.rpm
2) installed Anaconda2 Python 2.7.13 |Anaconda 4.4.0 (64-bit)| (default, Dec 20 2016, 23:09:15) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
export PATH="/home/akravchenko/anaconda2/bin:$PATH"
3) created and started Monet database:
monetdbd create hnode1_dbfarm
monetdbd set port=50001 hnode1_dbfarm
monetdbd set control=yes hnode1_dbfarm
monetdbd set passphrase=monetdb hnode1_dbfarm
monetdbd start hnode1_dbfarm
monetdb create hnode1_dbfarm_db1
*monetdb set embedpy=true hnode1_dbfarm_db1*
monetdb start hnode1_dbfarm_db1
monetdb release hnode1_dbfarm_db1 4)monetdbd get all hnode1_dbfarm property value hostname somehostname dbfarm hnode1_dbfarm status monetdbd[31089] 1.7 (Jul2017-SP1) is serving this dbfarm mserver /usr/bin/mserver5 logfile hnode1_dbfarm/merovingian.log pidfile hnode1_dbfarm/merovingian.pid sockdir /tmp listenaddr localhost port 50001 exittimeout 60 forward proxy discovery yes discoveryttl 600 control yes passphrase {SHA512}a73f1d86383446438ac64 f56e15ada38b41fbb18f029d2181723aeb2acac6a831f60e5fdbd64ac2c8 c70e035dd44cbbe3b45565ef2d58feb2821a2078c7fad35 mapisock /tmp/.s.monetdb.50001 controlsock /tmp/.s.merovingian.50001
5) monetdb get all hnode1_dbfarm_db1 name prop source value hnode1_dbfarm_db1 name - hnode1_dbfarm_db1 hnode1_dbfarm_db1 type default database hnode1_dbfarm_db1 shared default yes hnode1_dbfarm_db1 nthreads default 32 hnode1_dbfarm_db1 optpipe default default_pipe hnode1_dbfarm_db1 readonly default no hnode1_dbfarm_db1 embedr default no hnode1_dbfarm_db1 embedpy local yes hnode1_dbfarm_db1 embedpy3 default no hnode1_dbfarm_db1 nclients default 64 hnode1_dbfarm_db1 dbextra default <unknown>
Thank you, Anton
participants (1)
-
Anton Kravchenko