The ‘Conda Environment Propagation’ node is not installing the correct Python version.
When running, the ‘Conda Env Propagation’ node is installing an environment with the required Python packages. However, KNIME is only compatible with Python 3.9 - 3.11. The ‘Conda Env Propagation’ node is running Annaconda/miniconda creating an env with the latest Python version available (depending on de Anaconde/minconda version used). This will mostly be Python 3.12 causing the ‘imp’ error (this was a native Python package in v3.9-3.11, replaced by ‘import’ package v3.12 onwards)
As workaround, create the Conda env manually on your local pc, specifying the python version to be used (<3.12)
Configure the ‘Conda Env Propagation’ node to select the radio button ‘Check Names Only’ (this will prevent the existing correct Python 3.9 env to be overridden)
The Conda Environment Propagation node never decides on itself what to install. It captures the content of a locally existing environment when you build the workflow, and when somebody else runs that workflow on their machine it will re-create an environment with the captured list of packages.
So in your case you probably captured a Python 3.12 environment, right? Because yes, we did not prepare KNIME completely for 3.12 compatibility yet.
3 Likes
No, I provided my customer with a custom Python 3.9 environment (with 5 packages). My customer did not yet had that environment locally installed so the ‘Conda Propagation’ node installed this environment. But Conda is taking - by default?- the latest Python version (as far as I know, I’m not a Python expert). That is what we found out?
Could you share a screenshot of your configured package list in the conda environment propagation node?
But Conda is taking - by default?- the latest Python version
The way our Conda Environment Propagation node works is that it only installs exactly what you had configured in the node, it will not use any Python version “by default”.
1 Like
Hi Carsten
Please find enclosed some screenshots of the Conda env:
Cheers
Yves
@Yves_Wetzels you could opt to check not only the names but also the packages which are being used.
"This option enforces the exact configured package versions and channels. "
I like to wrap such propagations in a Metanode that also gives me the option to configure Python for different operating systems since the exact packages there tend to differ.
3 Likes