2022/10/22 PyData Osaka #026における JupyterLite関連の紹介記事
2022/10/22 PyData Osaka Meetup #026におけるJupyterLite関連の紹介記事
本記事はタイトルの通りPyData Osaka Meetup #026で使用する、主にJupyterLiteについて紹介するための記事となります。
Jupyterliteに関する翻訳記事の紹介(前半)
このリポジトリで翻訳した内容をMediumへと転記しています。 StarやMediumでのフォローをよろしくお願いします。
まずはここをクリックしてJupyterliteを体験していただければと思います。
本日のイベントでは下記ブログ記事を読んでいきます。
また、翻訳が間に合っておりませんが、下記2つの記事についても触れる予定です。
-
Jupyter Everywhere
- ウェブページにコンソールやnotebookを埋め込む方法について書かれています
-
Xeus lite
- カーネルを作成するためのC++ライブラリであるXeusをJupyterliteで使うための話が載っています。
上記についても将来的に翻訳したいと考えているため、回を分けて紹介するかもしれません。
nikolaブログの記事をコンテンツとして追加した状態でjupyterlite静的サイトを作る方法(後半)
本ブログはmarkdownとipynbで書かれていますが、これらの記事を追加した状態でjupyterliteの静的サイトをGitHub actionsで生成し、公開する例を紹介します。
仕組みの概要
- ブログのsrcブランチの内容を元に静的ブログをビルド(static site generatorのnikolaを使用)
-
このワークフローでブログ構築およびjupyterlite生成を自動化
- このリポジトリに従って作成されたDockerイメージを用いてワークフローを実行
- jupyterliteを静的アセットとして動的に生成した上で、nikolaブログのビルドを行い、デプロイを実行
- jupyterliteの生成のためにはこのスクリプトを実行
-
jupyter lite
コマンドのオプションはここを参照
-
jupyterlab-wav
このリポジトリで公開しているjupyterlab向けの波形可視化エクステンションがありますが、 dockerでの実行環境内に存在している場合(actionsのworkflow内でpip installしている場合)は、federated extensionとして使用可能な状態になっているはずですので紹介します。
GitHub Actions設定時に遭遇したトラブルと対策
actions/checkout@v3
でEACCESS: permission denied
などとエラーが出てチェックアウトできない
ここを見て解決しましたが、コンテナ内でチェックアウトする場合は所有権の問題でチェックアウトできないようで、下記のようにoptions: --user root
を付けてroot実行が必要でした。
container: image: <image> options: --user root
fatal: unsafe repository
が出る
ここを参考に、git config --global --add safe.directory
を実行するようにした。
fatal: refusing to merge unrelated histories
と表示され落ちる
masterブランチがfetchされておらずローカルとリモートが連続していないことが原因でした。
git fetch origin master --depth 1
を追加することで解決しました。
コメント
Comments powered by Disqus