Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot run source activate with conda in Fish-shell

Tags:

anaconda

fish

I follow conda_PR_545, conda issues 4221 and still not working on Ubuntu.

After downloading conda.fish from here, and mv it to anaconda3/bin/.

Add "source /home/phejimlin/anaconda3/bin/conda.fish" at the end of ~/.config/fish/config.fish.

conda activate spark_env Traceback (most recent call last): File "/home/phejimlin/anaconda3/bin/conda", line 6, in  sys.exit(conda.cli.main()) File "/home/phejimlin/anaconda3/lib/python3.6/site-packages/conda/cli/main.py", line 161, in main raise CommandNotFoundError(argv1, message) TypeError: init() takes 2 positional arguments but 3 were given 

or

activate spark_env Error: activate must be sourced. Run 'source activate envname' instead of 'activate envname'. 

Do I miss something?

like image 529
Jim Avatar asked Mar 18 '17 06:03

Jim


People also ask

How do I activate my conda?

To activate your Conda environment, type source activate <yourenvironmentname> . Note that conda activate will not work on Discovery with this version. To install a specific package, type conda install -n <yourenvironmentname> [package] . To deactivate the current, active Conda environment, type conda deactivate .

How can I activate conda environment automatically?

Reload Window from Command Palette, select base:conda as python interpreter then press Ctrl+Shift+` to open a new integrated Terminal, conda environment should be activated automatically in it.

How does conda source activate work?

activate . This function creates an instance of the Activator class (defined in the same file) and runs the execute method. The execute method processes the arguments and stores the passed environment name into an instance variable, then decides that the activate command has been passed, so it runs the activate method.


1 Answers

As of fish 2.6.0 conda 4.3.27: the following steps may change as issue is addressed

update config

Take note of your conda's location

conda info --root /Users/mstreeter/anaconda    # this is my <PATH_TO_ROOT> 

Add line to ~/.config/fish/config.fish

 source <PATH_TO_ROOT>/etc/fish/conf.d/conda.fish 

update convention

Typically you'd run the following from bash

source activate <environment> source deactivate <environment> 

Now you must run the following from fish

conda activate <environment> conda deactivate <environment> 

issues

so after doing this I'm not able to set fish as my default shell and have it still work properly with conda. Currently, I must first enter my default shell, and enter fish and the shell works as expected. I'll update this after I find out how to get it working completely without the need to explicitly choose fish each time I log into my terminal

like image 188
Marc Avatar answered Sep 22 '22 23:09

Marc