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.