Run Python as external process in custom operator
I'm trying to build a custom operator that calls Python under-the-hood using the ProcessBuilder class in Java. The Python extension is nice but a bit limited if you want to do more complicated things. Also, for every new project that wishes to re-use my Python code, I need to copy-paste between different RapidMiner processes because the script code is directly inserted into the XML. This is quite cumbersome.
Unfortunately, when I try to call Python using ProcessBuilder I cannot get RapidMiner Studio to NOT throw an access denied (java.io.FilePermission""<<ALL_FILES>>""execute") error. I have searched for all java.policy files on my system and added this particular file permission but none of these seem to have any effect. By inserting a typo in one of the java.policy files on purpose I could verify that it was indeed the one used by RapidMiner but even then, adding the <<ALL FILES>> file permission had no effect whatsoever.
So, I'm completely stumped. Does anybody have an idea what could be the problem?