クリーンインストールしたmacOSにMinicondaを導入してみたところ、うまくいきませんでした。 検索してみると、なかなか苦戦している人が多いようです。
- https://stackoverflow.com/questions/68006746/miniconda-installation-issue-on-imac-with-apple-m1-chip-running-macos-big-sur
- https://stackoverflow.com/questions/66560473/unable-to-install-miniconda-on-macos-big-sur
- https://www.reddit.com/r/learnpython/comments/1162sb7/miniconda_installation_issues_for_macos_ventura/
Anacondaもインストールできません。
- https://stackoverflow.com/questions/75968081/i-cant-install-anaconda-on-a-macbook-pro-m1-with-ventura-13-3-1
- https://stackoverflow.com/questions/75056418/anaconda-installation-failed-on-macos-ventura
- https://discussions.apple.com/thread/255168773
GUIインストーラーを使ったインストールでは、最後の画面でエラーメッセージが表示されてAnacondaもMinocondaもインストールできませんでした。
macOSの問題なんだろうなとは思いつつなんとか動かすまで持っていきたいので、以前動かしていた時はどういう構成で動かしていたかを考えてみたところ、そういえばユーザーのデフォルトのShellをBashにしていたことを思い出しました。 試しにBashにしてみると、なんの問題もなく動作することがわかりました。
今回動かないのはmacOSをクリーンインストールして、データ移行は行わずに新規ユーザーを追加した状態のmacOSです。 ライセンスの都合*1でCatalina以降のデフォルトシェルはZSHになったので(同じ理由でデフォルトでインストールされているBashもバージョン3と古いままです)、該当のユーザー設定はZSHになっていました。違いといったらこれくらいかー。
この環境もBashに変更すれば間違いなく解決はしますが、次のようにセットアップするとZSHでも動くようです。 インストールするときにBashを叩くのはちょっとモヤモヤしますけどね。
もう少し突っ込むとMiniconda3-latest-MacOSX-arm64.shを実行するときにbashを使ってスクリプトを実行していますが、
このシェルスクリプトに指定されているシバンは#!/bin/sh
なんですよね。shはshであって、bashじゃないんだぞこら。
インストールのポイントとしては、conda init
をせずに~/miniconda3/etc/profile.d/conda.sh
を読み込んでいる点ですね。
本来はインストールした後、次を実行するようにドキュメント にも書かれています。
~/miniconda3/bin/conda init bash ~/miniconda3/bin/conda init zsh
実際実行してみると、bashの方は問題なく通りますが、zshの方はスクリプトエラーが発生するみたいなんです。
ちなみにsource ~/miniconda3/etc/profile.d/conda.sh
しているところは.zshrc
にパスを通せば永続化できます。
前置きが長くなってしまいましたが、最終的に次のように実行しました。
% curl -LO https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh % bash Miniconda3-latest-MacOSX-arm64.sh Welcome to Miniconda3 py311_23.11.0-2 In order to continue the installation process, please review the license agreement. Please, press ENTER to continue >>> Do you accept the license terms? [yes|no] >>> yes Miniconda3 will now be installed into this location: /Users/tooyama/miniconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below [/Users/tooyama/miniconda3] >>> PREFIX=/Users/tooyama/miniconda3 Unpacking payload ... Installing base environment... Downloading and Extracting Packages: Preparing transaction: done Executing transaction: / done installation finished. Do you wish to update your shell profile to automatically initialize conda? This will activate conda on startup and change the command prompt when activated. If you'd prefer that conda's base environment not be activated on startup, run the following command when conda is activated: conda config --set auto_activate_base false You can undo this by running `conda init --reverse $SHELL`? [yes|no] [yes] >>> no You have chosen to not have conda modify your shell scripts at all. To activate conda's base environment in your current shell session: eval "$(/Users/tooyama/miniconda3/bin/conda shell.YOUR_SHELL_NAME hook)" To install conda's shell functions for easier access, first activate, then: conda init Thank you for installing Miniconda3!
インストール後にconda.sh
を読み込むと、conda
コマンドが使えるようになりました。
% source ~/miniconda3/etc/profile.d/conda.sh % conda env list # conda environments: # base /Users/tooyama/miniconda3 % conda activate base (base) tooyama@m1macmini(01/16/24 11:57:54) ~ % python --version Python 3.11.5
というわけで英語苦手ながら一応Issueは登録したものの、今のところは反応はありません。 この問題、修正されたらいいけどなあ。
*1:GPL v3