mac系统,无法找到conda命令,该怎么处理?
发布于 作者:苏南大叔 来源:程序如此灵动~
由于苏南大叔的mbp罢工的缘故,所以,此前很多文章,都是基于win10环境的。最近,水果电脑修理好之后,苏南大叔会再次写一些mac环境下的相关文章。在本篇文章中,苏南大叔描述的是conda命令在mac系统中无法找到的问题。

conda是安装了anconda之后的衍生命令,可以理解为pip的加强版命令。当然,这里,并不是来讨论conda命令的使用问题的,这里解决的是conda命令,无法识别的问题。
测试环境:mac@11.1,anconda@1.10.0。如果您的操作系统是win,请参考文末另外一篇文章:
问题展示
conda命令没有找到,这是个非常麻烦的问题。苏南大叔个人认为,这应该是个软件制作上的问题,否则不可能win和mac都有这样的问题。错误提示类似如下:
command not found: conda
方案一:常规思路
默认情况下,这个conda命令是位于/opt/anaconda3/bin目录下面的,当然您还可以通过which或者whereis之类的命令去查找conda的真实位置,但是,苏南大叔居然没能用这两条命令获得conda的位置,暂时todo.

您可以在您的终端里面,临时测试一下conda的命令的路径是不是设置正确。
export PATH="/opt/anaconda3/bin:$PATH"
conda --version
如果确认正确,就把这个路径写入到系统变量里面吧。当然,大家都知道,有很多个系统配置文件可以写入,苏南大叔建议您写入~/.zshrc文件中。可以手工写入,或者用下面的命令写入:
echo 'export PATH="/opt/anaconda3/bin:$PATH"'>>~/.zshrc记得,用source命令来刷新一下配置文件,及时生效。
source ~/.zshrc当然,有的教程会告诉你写入到~/.bash_profile文件中,如果您纠结于这个问题的话,可以看看下面的这个解决方案。
方案二:可能的真相(推荐)
本来以为问题就到此为止,但是,在进一步的测试中,苏南大叔发现:在~/.bash_profile文件中,有相关的环境设置代码。如下:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
. "/opt/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/opt/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
所以,是不是有些傻眼了呢?可能在测试环境(mac@big sur)下,无论系统默认的terminal还是iterm2,都没有读取配置文件.bash_profile,而是读取的.zshrc文件。
如果,这个假设成立的话,更好的解决方案则是:在.zshrc文件中,识别文件.bash_profile。那么,按照管理,还是可以手工写入,或者用命令写入:
echo 'source ~/.bash_profile'>>~/.zshrc
相关链接
- https://newsn.net/say/conda-path-mac.html
- https://newsn.net/say/conda-path-win.html
- https://newsn.net/say/anaconda-install.html
- https://newsn.net/say/pip-switch-mac.html
总结
如果在anaconda环境下的话,conda可以创建虚拟环境,还可以代替pip命令安装模块。当然,这些都是后话。先能够识别出conda命令先。
更多conda相关文章,请点击: