无法 运行 在 Fish 中使用 conda 激活源代码-shell
Cannot run source activate with conda in Fish-shell
我关注 conda_PR_545, conda issues 4221 但仍未在 Ubuntu 上工作。
从 here 下载 conda.fish 后,将其 mv 到 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
或
activate spark_env
Error: activate must be sourced. Run 'source activate envname'
instead of 'activate envname'.
我是不是漏掉了什么?
如果按照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)
自 fish 2.6.0 conda 4.3.27 起:以下步骤可能会更改为 issue is addressed
更新配置
记下您的 conda
的位置
conda info --root
/Users/mstreeter/anaconda # this is my <PATH_TO_ROOT>
添加行到 ~/.config/fish/config.fish
source <PATH_TO_ROOT>/etc/fish/conf.d/conda.fish
更新约定
通常您会 运行 来自 bash
的以下内容
source activate <environment>
source deactivate <environment>
现在您必须 运行 来自 fish
的以下内容
conda activate <environment>
conda deactivate <environment>
问题
所以在这样做之后我无法将 fish
设置为我的默认值 shell 并且它仍然可以与 conda
一起正常工作。目前,我必须首先输入我的默认值 shell,然后输入 fish
,然后 shell 会按预期工作。在我发现如何让它完全工作而无需在每次登录我的终端时都明确选择 fish
后,我将更新此内容
从 conda 4.4.0 开始,不推荐将 conda 的 bin 目录添加到 PATH
https://github.com/conda/conda/blob/master/CHANGELOG.md#440-2017-12-20
您只需添加
source <path-to-anaconda>/etc/fish/conf.d/conda.fish
至 config.fish.
我关注 conda_PR_545, conda issues 4221 但仍未在 Ubuntu 上工作。
从 here 下载 conda.fish 后,将其 mv 到 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
或
activate spark_env
Error: activate must be sourced. Run 'source activate envname'
instead of 'activate envname'.
我是不是漏掉了什么?
如果按照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)
自 fish 2.6.0 conda 4.3.27 起:以下步骤可能会更改为 issue is addressed
更新配置
记下您的 conda
的位置
conda info --root
/Users/mstreeter/anaconda # this is my <PATH_TO_ROOT>
添加行到 ~/.config/fish/config.fish
source <PATH_TO_ROOT>/etc/fish/conf.d/conda.fish
更新约定
通常您会 运行 来自 bash
source activate <environment>
source deactivate <environment>
现在您必须 运行 来自 fish
conda activate <environment>
conda deactivate <environment>
问题
所以在这样做之后我无法将 fish
设置为我的默认值 shell 并且它仍然可以与 conda
一起正常工作。目前,我必须首先输入我的默认值 shell,然后输入 fish
,然后 shell 会按预期工作。在我发现如何让它完全工作而无需在每次登录我的终端时都明确选择 fish
从 conda 4.4.0 开始,不推荐将 conda 的 bin 目录添加到 PATH https://github.com/conda/conda/blob/master/CHANGELOG.md#440-2017-12-20
您只需添加
source <path-to-anaconda>/etc/fish/conf.d/conda.fish
至 config.fish.