Home > Software engineering >  Monetdb Loader Function Issue - Embedded Python 3 has not been installed
Monetdb Loader Function Issue - Embedded Python 3 has not been installed

Time:03-03

This is the error when trying to run a Python loader function through mclient.

TypeException:user.main[4]:'pyapi3.eval' undefined: Embedded Python 3 has  
not been installed. Please install it first, then start server with --set embedded_py=3

When typing monetdb get all I can see that embedpy3 is set to yes because I have already done the -- set embedded_py3=yes.

I have installed monetdb through homebrew on macos.

CodePudding user response:

The homebrew version of MonetDB was built with the option -DPY3INTEGRATION=OFF, in other words, there is no Python integration in the homebrew version.

If you want, you can try to compile it yourself using the homebrew formula after changing that OFF into ON.

CodePudding user response:

As Sjoerd said, the default homebrew build has the CMake option -DPY3INTEGRATION=OFF, which turns off embedded python3 functions. To install it with this option turned on, you'll need to edit the brew formula and compile it from source (through brew).

First, uninstall the current package:

brew uninstall monetdb
brew cleanup -s monetdb

Then, edit the brew formula:

brew edit monetdb

Find "-DPY3INTEGRATION=OFF" and change it to "-DPY3INTEGRATION=ON"

Finally, install it from source, using the new formula:

brew install -s monetdb

Make sure you have python3 and numpy installed, otherwise it won't work.

NOTE: This still might fail if you have multiple python installations and the one used in the build process does not have numpy installed. In that case, reach out and we'll help you.

  • Related