[英]conda - PATH order in fish shell
我在 Ubuntu 20.04 上使用 miniconda 和鱼 shell。我能够创建并激活我的特定环境。 我的问题是与$PATH
相关的 Python 版本。
$PATH
如下所示: PATH=/opt/conda/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/conda/bin:/snap/bin:/opt/conda/bin
这意味着,当我启动 Python 时,它使用/opt/conda/bin/python
版本 - conda(基本)版本。
conda activate XXX
时,它切换到 XXX(更准确地说,从 base 切换到 XXX)并且我的$PATH
如下所示: PATH=/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/USER/.conda/envs/XXX/bin:/snap/bin:/opt/conda/bin
这意味着,当我启动 Python 时,它使用/usr/bin/python
。 系统版本为Python。
$PATH
如下所示: PATH=/home/USER/.conda/envs/XXX/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/conda/bin
这意味着,当我启动 Python 时,它使用/home/USER/.conda/envs/XXX/bin/python
问题:
每当我使用 XXX 环境时,我都希望使用/home/USER/.conda/envs/XXX/bin/python
,当我从 (base) 切换到 (XXX) 时,这是不正确的。 要在 python 以上使用,我需要停用 base,然后切换到 (XXX)。 它接缝, /home/USER/...
应该始终在 $PATH 的开头以选择合适的 python 版本。
当我启动新的 shell 时,我不想使用 (base) 作为默认设置。我已经尝试过config --set auto_activate_base false
将auto_activate_base: false
添加到./condarc
但它似乎被忽略了。
我的 conda 版本是 4.8.3。 我的~/.config/fish/config.fish
包含: eval /opt/conda/bin/conda "shell.fish" "hook" $argv | source
eval /opt/conda/bin/conda "shell.fish" "hook" $argv | source
。
我做错了什么? 我该如何纠正它?
我在 Ubuntu 20.04 上使用 miniconda 和鱼 shell。 我能够创建和激活我的特定环境。 我的问题是与$PATH
相关的 Python 版本。
$PATH
设置它如下所示: PATH=/opt/conda/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/conda/bin:/snap/bin:/opt/conda/bin
这意味着,当我启动 Python 时,它使用/opt/conda/bin/python
版本 - conda(基本)版本。
conda activate XXX
时,它切换到 XXX(更准确地说,从基础切换到 XXX),我的$PATH
看起来像这样: PATH=/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/USER/.conda/envs/XXX/bin:/snap/bin:/opt/conda/bin
这意味着,当我启动 Python 时,它使用/usr/bin/python
。 它是 Python 的系统版本。
$PATH
如下所示: PATH=/home/USER/.conda/envs/XXX/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/conda/bin
这意味着,当我启动 Python 它使用/home/USER/.conda/envs/XXX/bin/python
问题:
每当我使用 XXX 环境时,我都希望使用/home/USER/.conda/envs/XXX/bin/python
,当我从 (base) 切换到 (XXX) 时,这是不正确的。 要使用以上 python 我需要停用基础,然后切换到(XXX)。 它接缝, /home/USER/...
应该始终位于 $PATH 的开头以选择适当的 python 版本。
当我启动新的 shell 时,我不想使用 (base) 作为默认值。 我试过config --set auto_activate_base false
将auto_activate_base: false
添加到./condarc
但它似乎被忽略了。
我的 conda 版本是 4.8.3。 我的~/.config/fish/config.fish
包含: eval /opt/conda/bin/conda "shell.fish" "hook" $argv | source
eval /opt/conda/bin/conda "shell.fish" "hook" $argv | source
。
我做错了什么? 我该如何纠正?
你可以在一行中完成,不要打扰自己(MacOS 和 Linux)
/(your conda installation path)/bin/conda init fish
你的公寓安装通常在 '/Users/- your UserName -/anaconda3'
如果有人想了解安装 fish,最好的方法是 Homebrew。 在brew install fish
之后,您必须将 fish 添加到/etc/shells
中的可支持 shell。 然后使用 chsh 将默认值 shell 更改为 fish。 如果不清楚请评论!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.