我通过命令行安装了Anaconda。Bash文件。
如果我在Bash中,可以打开和使用Anaconda,如Notebooks、IPython等。
如果我将我的shell更改为ZSH,则所有的Anaconda命令都会显示为“not found”。
我该如何使它在zsh中工作?
我使用的是安装有OSx Sierra的Mac。
虽然我无法在Mac上进行测试(我安装了Linux Zsh),但这对你也应该适用:只需执行
/(your conda installation path)/bin/conda init zsh
然后重新启动您的zsh shell。init命令将相应更改您的~/.zshrc文件,正确设置您的PATH并略微更改PS1(这是大多数答案手动完成的...)。
我遇到了类似的问题。
我检查了我的.profile
,.bashrc
和.bash_profile
等点文件,以寻找可以复制到我的.zshrc
文件中的任何PATH信息。果然:
# added by Miniconda3 4.2.12 installer
export PATH="/Users/username/miniconda3/bin:$PATH"
在添加了这些行后,我运行了source ~/.zshrc
,然后就可以启动我的jupyter笔记本服务器了。source .bashrc
来激活 bash 环境,然后通过键入 source zshrc
命令返回到 "oh my zsh" 环境。之后 conda 将正常工作。
或者您可以执行单个命令 source .bashrc && source .zshrc
- chudasamachirag~/.bash_profile
中使其正常工作,即使一开始它并不存在于该文件中。 - Joseph Farah这个方法在我的 macOS 上有效
https://medium.com/@sumitmenon/how-to-get-anaconda-to-work-with-oh-my-zsh-on-mac-os-x-7c1c7247d896
用以下命令打开 .bash_profile 文件:
open ~/.bash_profile
安装程序添加了一段代码块到文件末尾。请复制它。
我的看起来像这样:
# added by Anaconda3 5.3.0 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "/anaconda3/etc/profile.d/conda.sh" ]; then
. "/anaconda3/etc/profile.d/conda.sh"
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda init <<<
现在打开你的.zshrc文件:
open ~/.zshrc
将复制的代码粘贴到末尾并保存。然后运行以下命令:
source ~/.zshrc
当您在iterm2或终端上时,您应该会看到一个(base)
弹出。
自从conda 4.4.0(于2017年12月20日发布)推荐的将conda添加到系统环境变量PATH的方式已经改变。不再使用Jonathan's answer中描述的方法,而是使用conda安装路径下etc/profile.d/
文件夹中的conda.sh
脚本进行操作。之后可以激活基础环境。更多关于此事的信息可以在conda changelog中找到。
我需要在我的.zshrc
文件中添加以下几行:
. ~/miniconda3/etc/profile.d/conda.sh
conda activate base
假设(mini)conda是使用默认参数安装的,即在主文件夹中安装。
直接从Anaconda安装文档上摘录如下:
如果您使用的是macOS Catalina,新的默认 shell 是 zsh。您需要运行以下命令:
source <path to conda>/bin/activate
然后执行:
conda init zsh
不幸的是,由于某种原因,这只在命令行安装部分中提到。如果您是通过GUI进行安装的,仍然需要执行此操作。
如果你在将macOS从Sierra升级到Catalina后更改了终端从bash到zsh,那么Sebastian Thees的答案需要稍作修改才能完成任务。
首先,使用以下命令切换回bash:
chsh -s /bin/bash
当你的旧conda环境都正常激活时。然后使用以下命令在zsh中激活conda:
conda init zsh
最后,使用以下命令切换回zsh:
chsh -s /bin/zsh
这种方式可以轻松追踪您的conda安装文件夹,对像我这样记性不好的人来说是一个优点。
~/anaconda3/bin/conda init zsh
,对我有效。 - Dave X在跟进@m00am的答案之后,从Anaconda 4.5.11开始,Anaconda添加到.bashrc 中的 bash
代码似乎在zsh
中也能正常运行,因此将其复制到您的.zshrc中即可。在我的情况下,代码如下:
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/home/my-account/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "/home/my-account/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/my-account/anaconda3/etc/profile.d/conda.sh"
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="/home/my-account/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda init <<<
从他们的文档中(这对我有用):如果您使用的是macOS Catalina,则新的默认shell为zsh。您需要运行source <path to conda>/bin/activate
,然后跟着运行conda init zsh
。
对于我的特定安装(通过双击安装程序完成),这最终变成了source /opt/anaconda3/bin/activate
。
# Anaconda
. /anaconda3/etc/profile.d/conda.sh
conda activate base
保存文件后不要忘记运行 source ~/.zshrc
。
升级到Catalina后
如果您安装了新的Anaconda3 2019.07,则可以使用以下解决方案。
open ~/.bash_profile
复制以# added by Anaconda3 2019.07 installer
开头,以# <<< conda init <<<
结尾的行,并将其粘贴到.zshrc
文件中。然后运行source ~/.zshrc
命令。
which anaconda
获取路径。