Answer a question

I have created an environment called B3 inside anaconda-navigator. It works fine if launched from within navigator.

However, when I want to activate it at the shell, I get 'could not find environmnet B3.'

If I use conda env list, the environment is visible but its name is blank. If I try using the file path instead, I get 'Not a conda environment.'

Why is the name missing, and how can I activate it from the shell? enter image description here

Answers

Name-based reference of Conda environments only works for environments located in one of the directories listed in the envs_dirs configuration option (see conda config --describe envs_dirs). By default this corresponds to the envs/ subdirectory in the Conda installation. If you create an env outside of one of these directories, then you cannot use a name to reference it. Instead, one must activate it by its path:

Option 0: Activate by Path (Fix OP’s Typo)

conda activate /home/julianhatwell/anaconda3/envs/B3

Note that OP originally had a typo (anaconda2 should have been anaconda3). After pointing this out (see comments to question), the questioner instead requested an answer to:

How to convert a nameless environment to named one?

Converting to Named Environment

The following are possible ways to enabling name-based activation.

Option 1: Clone Into Directory

One option to use conda activate B3, is to recreate your B3 env in the default directory. You can use the --clone flag to accomplish this.

conda create --clone path/to/the/nameless_env -n named_env

Option 2: Add Parent Directory

Alternatively, you can add the parent directory of the environment in question to the envs_dirs configuration option.

conda config --append envs_dirs /path/to/the/parent_dir

Another possibility is to create a symbolic link in one to the envs_dirs folders to the environment folder. It seems to work, but it is not a common practice, so it may have downsides that are unreported.

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐