macOS 10.15 CatalinaでAnacondaをインストールしようとしたらハマったのでその事象と解決策を書いておきます。
前提
- macOS 10.15.3 Catalina
-
Anaconda 2019.10 for macOS Installer (Python3.7)
を使ってanacondaを入れる。- 今回はちょっと触ってみたいだけなので出来るだけpyenvとかの世話にはならない。
事象
MacでのAnacondaでのインストールは基本的に以下の手順です。 ref:公式ドキュメント
- GUIインストーラでぽちぽちOKを押す。
- Spotlight SearchからAnaconda Navigatorを起動できればOK。
![スクリーンショット 2020-03-04 16.31.36.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F85822%2Fdcad1e70-b093-109d-0800-d578d20e7b0c.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=8c4f5ec16cb03f5f6e17ec9c09a3f9b8)
この画面が出ればOKです。簡単ですね。
で、私はSpotlight SearchからAnaconda Navigatorを起動しようとした時点で以下の表示が出ました。
[15:59:06]% /Users/{user_name}/opt/anaconda3/pkgs/anaconda-navigator-1.9.7-py37_0/bin/anaconda-navigator ; exit;
zsh: /Users/{user_name}/opt/anaconda3/pkgs/anaconda-navigator-1.9.7-py37_0/bin/anaconda-navigator: bad interpreter: /opt/anaconda1anaconda2anaconda3/bin/python: no such file or directory
ひぇ〜
原因
そもそもAnacondaのGUIインストーラ君はなにをしてるのでしょうか?
彼がやってることは(今回の問題に関係するところだと)大きく2つです。
-
~/opt/anaconda3
配下に、 Python本体やライブラリなど配置する。 -
~/.bash_profile
にPATHなどの設定を追記する。
~/.bash_profile
に入る内容は具体的に以下。
# added by Anaconda3 2019.10 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/Users/{user_name}/opt/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "/Users/{user_name}/opt/anaconda3/etc/profile.d/conda.sh" ]; then
. "/Users/{user_name}/opt/anaconda3/etc/profile.d/conda.sh"
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="/Users/{user_name}/opt/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda init <<<
で、実はMacのデフォルトのシェルはCatalinaでbashからzshになりました。
~/.bash_profile
読まれないじゃ〜んという話です。
というか、私が上に書いたエラーはそもそも ~/opt/anaconda3/bin/
配下のanaconda-navigateではなく、
/Users/{user_name}/opt/anaconda3/pkgs/anaconda-navigator-1.9.7-py37_0/bin/anaconda-navigator
を参照してます。
なんでやねん。
解決策
-
~/.bash_profile
に追記されてた内容を~/.zshrc
にコピーする。 - ターミナルで
env | grep PATH
あたりで~/opt/anaconda3/bin/
にPATHが通ってるのを確認しましょう。 - ターミナルから
anaconda-navigator
を実行すればOKです。
落ち(この記事を書いたあとに気づいたこと)
公式ドキュメントにもありますが、実はLaunchPadにもショートカットが追加されていて、そこからAnaconda-Navigatorを起動すると ~/opt/anaconda3/Anaconda-Navigator
を参照して起動するようです。Anaconda-Navigatorが色んな所にあり過ぎでわ。
まぁcondaコマンドとかを使うときに結局PATHを通す必要があるので、 ~/.bash_profile
からの移植はやっておいたほうが良いと思います。