LoginSignup
2
1

Streamlitで画面を録画するメニューが出てこないときは

Last updated at Posted at 2023-12-17

この記事はKDDI Engineer & Designer Advent Calendar 2023の7日目として投稿されたものです。
このアドベントカレンダーは「KDDIのみんなでTechな記事を書こう!お仕事に関係しても関係なくてもOK!」という企画となっています。
ちなみに、本記事は私自身のお仕事とは関係ないものです。

Streamlitとは

StreamlitはPython向けのWebアプリケーションフレームワークです。

Streamlitを使うとフロントエンドの知識ゼロでもデータを可視化するためのWebアプリケーションを簡単に作れます。以下のような機能が特徴。

  • 変数を地の文に書くだけで、GUIに出力される(マジックコマンド)
  • st.radiost.text_inputのようなWidget APIを呼び出すだけで、GUIコンポーネントが生成される

本記事のサマリ

ハンバーガーメニューに「Record a screencast」が出てこないときは以下を確認しよう

  • config.tomlclient.toolbarModeを設定しているか
  • ブラウザでサイトに適切な権限が許可されているか

問題

Streamlitでは画面を録画する機能がビルトインされているのですが、ひさしぶりに使おうとしたらそもそもハンバーガーメニューにそのメニューアイテムが出てこないので困りました。
参考:Streamlitで画面を録画する

設定ファイルの確認

1.20.0あたりから1.22.0にかけてハンバーガーメニューのメニューアイテムが整理されました。
Changelogによると、

Customize the visibility of items in the toolbar, options menu, and the settings dialog using the client.toolbarMode config option (#6174).

だそうです。

.streamlit/config.tomlにdeveloperオプションを設定しましょう。
.streamlit/config.tomlがそもそも存在しない場合は新規作成しましょう。

config.toml
[client]
toolbarMode = "developer"

サイトの権限の確認

以下の画像のような状態だとブラウザが画面の録画を許可してくれていないので、Streamlitがハンバーガーメニューからメニューアイテムを消してしまうようです。

streamlit-connection

ブラウザによっては、HTTPで通信しているサイトはlocalhostを除いて権限を設定できないようなので注意しましょう。

おわりに

Streamlitはアップデートの頻度がそこそこ高いので、たまにこういうことがあります。
Changelogsをチェックするようにしましょう!

本記事について

本記事はアウトプットガチ勢が作った高速記事作成フレームワークを参考にしています。
高速アウトプットを身に着けたい!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1