SageMathとは数学の様々な処理を扱うフリーソフトウェアである. sagemath.org
この記事を執筆している今(2021年7月16日)では, SageMath-9.3
が最新バージョンである. しかしどうやらversion 9.1からversion 9.2で大幅に挙動が異なり, Jupyter Notebookを開く際に少し手間がかかるようなので備忘録としてまとめておく.
使用環境
- 実行日: 2021年7月15日
- PC: MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)
- OS: macOS Big Sur ver. 11.4
SageMath-9.1とSageMath-9.2の大きな違い
まずはSageMathのインストールのページへ進む.
-
sagemath.orgを開き, ページ真ん中辺りの
Download 9.3
のページをクリック. - ダウンロードサーバーを選ぶページが開くので, Asiaの
(i)Riken, Japan
,(ii)Yamagata University, JP
のいずれかをクリック. - SageMathのミラーサイトが開くので, Sage Mirror Contentの適切なOSを選ぶ. 今回はmac OSで実行しているので
Apple Max OS X
をクリック. - Subdirectoriesと書かれているところの
intel
をクリック. - Filenameのところにsage-9.3のファイルがあるが, どうやらdmgファイルはまだ公開されていないようなので, Subdirectoriesの
old
をクリック. するとversion一覧のページに進む.
ここで大きな分岐が発生する. sage-9.1-py2-OSX_10.11.6-x86_64.dmg
とsage-9.2-OSX_10.15.7-x86_64.dmg
のいずれかをインストールすればSageMathがJupyter Notebook
で使用できるようになるはずだが, version 9.2の方では上手くいかない. 具体的には, "open SSLが必要"のようなエラーメッセージが出てしまう. AskSageで調べてみると同様の現象で困っている人がたくさんいる. 例えば以下.
この質問に対する解答を読んでみると,
The difference with sagemath-9.2 seems to be that jupyter now also depends on openssl (which was not the case before).
とのことである. つまりSageMath-9.2からJupyter Notebookはopen SSLに依存するようになったらしい. なので別途open SSLについての設定を行わないといけない. 先程の解答者のコメントより, 以下のURL
にopen SSLを有効にしsage -pip
コマンドを有効にするための方法が書いてあるとのこと. その手順をここに記す. 以下ではSageMath-9.2が既にインストールされている状態として話を進める. (open SSLを有効にしつつSageMath-9.2をインストールする方法も書いてあるが, 本当にその手順で上手くいくか確かめることができていないので, ここでは省略する.) まず
からfix_mac_sage9_2.tgz
ファイルをダウンロードして解凍する. (READMEに手順が書いてあるが,) ディレクトリ/Applications/SageMath
にSageMath-9.2
がインストールされている状態で, ターミナルで以下を実行する.
cd ~/Downloads
sudo xattr -d com.apple.quarantine fix_mac_sage9_2.tgz
tar xf fix_mac_sage9_2.tgz
/Applications/SageMath/sage -python -m fix_mac_sage9_2.fix
諸々がインストールされ, 準備完了. 次にJupyter Notebookを手早く開くためにエイリアスを作成する.
- ターミナルで
touch .zshrc
と実行. - 同じく
open .zshrc
と実行. - 開いたファイルに
alias sage='/Applications/SageMath/sage'
と書いて保存し, 閉じる.
あとはターミナルでsage -n jupyter
と入力すれば晴れてJupyter Notebookが開いた!