Conda Environment Propagation cannot recognise Conda virtual environment

If I create the conda virtual environment at KNIME>preference>python>new environment, the Knime will be able to recognize this virtual environment by Conda Environment Propagation node. However, if I create the virtual environment by Anaconda or terminate/ shell, or if I clone a new environment, then Knime cannot recognize the virtual environment, do I miss something in the setting?

I am using a Mac Mini M1

@anguslou how is your configuration under the preferences conda?

1 Like


@anguslou would the environment propagation work with the py3_knime from the second screenshot? Would your other environments show up?

Could you check if they work under shell command?

https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html

py3_knime is created at KNIME>preference>python>new environment so it works in Conda Environment Propagation as well.

I can access the virtual environment yolov5_org (which is cloned from yolov5 in Conda) from Conda environment> open terminal and run jupyter without problem.

Screenshot 2022-10-27 at 3.31.30 PM

But if I activate the environment in shell, I can’t see the name
Screenshot 2022-10-27 at 3.27.05 PM

@anguslou you have two environments “yolov5_org” and “yolov5”. The later is in the conda directory which you have set up in KNIME. The other is not …

@anguslou

Looking at your list of environments, the first three environments on that list have a prefix (the path to the root of the conda environment) but do not have a name. Therefore, when you try to reference the environment yolov5_org from KNIME it is unable to lookup the name (as it doesn’t exist) to find the environment.

When you clone a conda environment you need to specify the name of the new environment:

conda create --name name_of_new_environment --clone name_of_environment_to_clone

If you want to rename (add a name to an environment) then you can use the command:

conda rename --prefix /Users/angus/opt/anaconda3/envs/yolov5_org yolov5_org

This will clone the original environment; append a name to the clone; then remove the original repository. I suggest you use the --dry-run option to check that the operation will succeed before actually using the command. For example:

conda rename --prefix /Users/angus/opt/anaconda3/envs/yolov5_org --dry-run yolov5_org

DiaAzul

1 Like

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