jupyter lab を起動して,さっそく試してみると,いきなりmatplotlibが見つからないというところでつまづいた。以前に試したpythonのコードでは,matplotlibを読み込んでちゃんと作図がでてている。その古いコードでもエラーがでてきた。
macbook air の環境は,基本的にはhomebrew で更新しているので安心できるのだが,問題は,python環境である。python は3.9〜3.12までの複数のバージョンが同居することになっている。これは基幹ソフトなので,下手に古いものを消してしまうとややこしいのだ。そこで,一般には,python環境を指定するpyenvとかvenvで仮想環境を設定した上で,様々なライブラリを加えていくことになる。
が,ですね,それはそれで面倒なので,アドホックにバージョンアップを繰り返しながら,pip install ホゲホゲをつづけているために,わけわかめ状態になっている今日この頃なのだ。jupyterlabもバージョンが上がるたびに,見えなくなってしまうので,毎回 brew link jupyterlabを繰り返す始末だ。70歳になると,自分の体の中のDNA情報システムだけでなく,外の電子情報システムまで老化が進んでくるということだ。
まあ,macOSの場合は,機種更新の際に新規インストールすればそれなりに,なんとかなるかもしれないけれど,複雑な記録や認証情報を引き継ぐのは厄介だ。特に,iOSでは,指紋認証を含め,現金が動く認証アプリがウヨウヨいるので,次期機種更新のことを考えただけで気が遠くなりそうだ。
話を戻して,astropyについて。jupyter環境でpython kernelを立ち上げているところから,!エスケープで!pip listをやってみると,matplotlibは存在している。!pip install matplotlib でも致命的エラーはでない。ChatGPTに相談してみると,カーネルがどうなっているか確認せよとのこと。
jupyter kernelspec listpython3 /opt/homebrew/Cellar/jupyterlab/4.0.9_2/libexec/lib/python3.12/site-packages/ipykernel/resourcesjulia-1.9 /Users/koshi/Library/Jupyter/kernels/julia-1.9maxima /Users/koshi/Library/Jupyter/kernels/maximawolframlanguage12 /Users/koshi/Library/Jupyter/kernels/wolframlanguage12
はいはい,表に見えていたのは python3.11.6だったけれど,実は,python.12.1が使われており,ここにはmatplotlibが入っていませんでした。さっそく,このポイントで,matplotlibとかscipyとかastropyとかpytest-astropyとかをpipでインストールした。別の参考資料に指示があった,astropyが正しく導入できているかどうかのテストも,試行錯誤の後にOKとなった。
cd /opt/homebrew/Cellar/jupyterlab/4.0.9_2/libexec/bin
./pip install astropy
./pip install ephem
import astropy as ap>>> ap.test()platform darwin -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0Running tests with Astropy version 6.0.0.Running tests in lib/python3.12/site-packages/astropy.Date: 2023-12-19T22:26:53Platform: macOS-14.2-arm64-arm-64bitExecutable: /opt/homebrew/Cellar/jupyterlab/4.0.9_2/libexec/bin/pythonFull Python Version:3.12.1 (main, Dec 7 2023, 20:45:44) [Clang 15.0.0 (clang-1500.0.40.1)]encodings: sys: utf-8, locale: UTF-8, filesystem: utf-8byteorder: littlefloat info: dig: 15, mant_dig: 15Package versions:Numpy: 1.26.2Scipy: 1.11.4Matplotlib: 3.8.2h5py: not availablePandas: not availablePyERFA: 2.0.1.1Cython: not availableScikit-image: not availableasdf-astropy: not availableUsing Astropy options: remote_data: none.rootdir: /opt/homebrew/Cellar/jupyterlab/4.0.9_2/libexecplugins: astropy-0.11.0, remotedata-0.4.1, hypothesis-6.92.1, cov-4.1.0, filter-subpackage-0.1.2, astropy-header-0.2.2, anyio-4.1.0, mock-3.12.0, doctestplus-1.1.0, arraydiff-0.6.1collected 28085 items / 5 skipped-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html========== 27425 passed, 425 skipped, 240 xfailed, 80 warnings in 184.56s (0:03:04) ===========<ExitCode.OK: 0>
ところが,やっぱりもとの太陽系の天体位置描画が動かない。最後に,Animation関数中のblit=False をblit=Trueにしてようやく何か表示されてほっとしたが,そこまでで内部にエラーがあるとのメッセージが出て異常終了してしまった。チーン。
図:ここまでは出たけれどアニメーションにはなっていなかった残念な図
astropyはイメージ処理やデータ処理を本業とした,プロ用の本格的なシステムだった。
0 件のコメント:
コメントを投稿