anaconda与zsh不兼容的解决方案小记

前情

蓝瘦……
尝试在OSX上安装anaconda的tensorflow环境,怎么样都报错。
很久都没有解决。
一直以为是自己安装的问题。
就放着不管了。
后来尝试重新捡起anaconda的时候,
又遇到了如下错误:

Last login: Thu Sep  6 12:16:13 on ttys001
/Users/remini/.anaconda/navigator/a.tool ; exit;
 remini@biduandeMacBook-Pro  ~  /Users/remini/.anaconda/navigator/a.tool ; exit;
/Users/remini/.anaconda/navigator/a.tool: line 1: syntax error near unexpected token `('
/Users/remini/.anaconda/navigator/a.tool: line 1: `bash --init-file <(echo "source activate /Users/remini/anaconda3/envs/tensorflow;")'

[进程已完成]

_(:з」∠)_

溯源

于是去外网翻了一下案情,发现还真的不止我又类似问题的样子。
https://github.com/ContinuumIO/anaconda-issues/issues/1831
好了好了不用点进去看了,我在这里大概概括一下,有一部分人使用zsh的时候,从GUI启动环境终端会遇到错误。
而且作者改不了的样子。
去看了一下a.tool的内容。发现里面只有一行代码,就是报错中的bash --init-file <(echo "source activate /Users/remini/anaconda3/envs/tensorflow;")
有网友建议给该文件加上bash的引导头#!/bin/bash。但是这个文件在每次启动环境时都会重新生成,所以修改是无效的。

解决方案

第一个有效的解决方案是,用到anaconda的时候切换默认终端

chsh -s /bin/bash

但是这个方案实在是……不怎么优雅。
其实我们是完全不需要依靠GUI启动Anaconda环境的。
我们只要打开终端,运行

bash

即可切换bash 环境。
之后运行

source activate tensorflow

即可手动启动环境。
这里的tensorflow可以被替换成需要的环境名。

Be the first to comment

Leave a comment

Your email address will not be published.


*


不够聪明的人工智能可进不来哦 *