无法在Fish-shell中使用conda运行源激活

Jim*_*Jim 28 fish anaconda

我关注conda_PR_545,conda 问题4221,仍然没有在Ubuntu上工作.

这里下载conda.fish后,将其转换为anaconda3/bin /.

在〜/ .config/fish/config.fish的末尾添加"source /home/phejimlin/anaconda3/bin/conda.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
Run Code Online (Sandbox Code Playgroud)

要么

activate spark_env
Error: activate must be sourced. Run 'source activate envname'
instead of 'activate envname'.
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

Mar*_*arc 52

至于鱼2.6.0 conda 4.3.27:随着问题的解决,以下步骤可能会发生变化

更新配置

记下你conda的位置

conda info --root
/Users/mstreeter/anaconda    # this is my <PATH_TO_ROOT>
Run Code Online (Sandbox Code Playgroud)

添加行到 ~/.config/fish/config.fish

 source <PATH_TO_ROOT>/etc/fish/conf.d/conda.fish
Run Code Online (Sandbox Code Playgroud)

更新惯例

通常,您将运行以下命令 bash

source activate <environment>
source deactivate <environment>
Run Code Online (Sandbox Code Playgroud)

现在您必须运行以下命令 fish

conda activate <environment>
conda deactivate <environment>
Run Code Online (Sandbox Code Playgroud)

问题

所以在这样做之后,我无法设置fish为我的默认shell并使其仍能正常使用conda.目前,我必须首先输入我的默认shell,然后输入fish并且shell按预期工作.在我发现如何让它完全正常工作后我会更新这个,而不需要fish每次登录我的终端时都明确选择

  • 我刚试过这个,把鱼作为我的默认壳没有问题。创建新的 shell 会话后,我的默认 conda env 已正确激活并显示。 (2认同)

Neh*_*ani 28

如果您按照https://github.com/conda/conda/issues/2611,步骤(从开始):

[root@6903a8d80f9b ~]# fish
root@6903a8d80f9b ~# echo $FISH_VERSION 
2.4.0
root@6903a8d80f9b ~# bash Miniconda2-4.3.11-Linux-x86_64.sh -b -p /conda
root@6903a8d80f9b ~# source /conda/etc/fish/conf.d/conda.fish
root@6903a8d80f9b ~# conda activate root
root@6903a8d80f9b ~# conda create -yn fishtest                              (root) 
Fetching package metadata .........
Solving package specifications: 
Package plan for installation in environment /conda/envs/fishtest:

#
# To activate this environment, use:
# > source activate fishtest
#
# To deactivate this environment, use:
# > source deactivate fishtest
#

root@6903a8d80f9b ~# conda activate fishtest                                (root) 
root@6903a8d80f9b ~#                                                    (fishtest) 
root@6903a8d80f9b ~# conda deactivate fishtest                          (fishtest) 
Run Code Online (Sandbox Code Playgroud)

  • 哇!太神奇了,它正在发挥作用!我只是将"source(conda info --root)/etc/fish/conf.d/conda.fish"添加到我的config.fish中,它正在工作!谢谢,我几乎整天都花在这个环境设置上. (2认同)

Bho*_*sut 10

从conda 4.4.0 https://github.com/conda/conda/blob/master/CHANGELOG.md#440-2017-12-20建议不要将conda的bin目录添加到PATH

您需要做的就是添加 source <path-to-anaconda>/etc/fish/conf.d/conda.fish 到config.fish.

  • 从Conda v4.6.0开始,您应该只能运行`conda init`,它将为您调整`config.fish`。 (3认同)