Troubles when installing python extension node

Hi,

I’ve building my own nodes using the python extension. I’ve been working to make them work on Windows and Linux (not tried with macOS). I’ve done two versions of the nodes, one for 4.7 and other for 5.1 (at least when trying to use the 5.1 version in KNIME 4.7, it fails and viceversa).

When installing locally the nodes in Windows 11, all run smoothly, for 4.7 and 5.1. When doing the same in Linux, for 5.1 nodes work, but for 4.7, I have the following error:

An error occurred while installing the items
session context was:(profile=KNIMEProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null → [R]com.pharmacelera.lib_prep.channel.bin.linux.x86_64 0.1.0.202308041348, action=org.knime.product.p2.actions.ShellExec).
ShellExec command exited non-zero exit value:

I’ve used the same build_python_extension.bat (changing environment so it call the 4.7 or 5.1 versions). In principle, I’m working on X86_64 machines. This is happening for a virtual machine I have and also for a fresh linux installation.

Any clue? Funny thing is that I want to compare my nodes with fingerprints of RDKit, but apparently right now, it will be not available till 5.1.1. Doing now with CDK in the meanwhile.

Kind regards,
Fer

Hi @fmgarcia85,

I don’t have any idea myself, but let me ask internally to see if someone can assist.

Hi @ScottF ,

Back from holidays, I’ve been checking different options. Finally, I’ve found the solution. I was creating the node for 4.7 using a conda environment the pointed to a knime-extension-bundling=4.7. Doing that, I got the error above.

create -n knime-ext-bundling_4.7 -c knime -c conda-forge knime-extension-bundling=4.7

Checking the help of the 5.1 version, I saw you can define the knime version you want to compile with. I created a default conda environment:

create -n knime-ext-bundling -c knime -c conda-forge knime-extension-bundling

Then, when compiling the node, I added the argument for 4.7:

build_python_extension.bat --knime-version 4.7 C:\Users\fmartin\Desktop\Test\mynode\extension C:\Users\fmartin\Desktop\Test\mynode_compiled

Tested the node and it worked on linux. Here my question then is that you need always to compile your node against the KNIME version you want to execute it, I guess. It’s not that new versions of KNIME, like 5.1 can run previous versions, like 4.7. Is that right?

Kind regards,
Fer

Hi @fmgarcia85 -

Glad you found a way. Regarding your last question: @bwilhelm, can you clarify?

Hi @fmgarcia85,

yes, we will update that docs section soon: The different version parameters are currently necessary for the different KAP versions (4.7, 5.1,…) and a new each extension needs to be built for each KAP version.

Best regards
Steffen

2 Likes

Thanks for the information, @steffen_KNIME and for the support, @ScottF .

Best,
Fer

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.