uvを使った実行環境構築 ====================== uvインストール -------------- 公式ドキュメントを参照 - https://docs.astral.sh/uv/getting-started/installation/ ツールのインストール -------------------- .. code-block:: shell :caption: git clone $ git clone https://github.com/togakushi/mahjong-score-management.git グラフ描写用の日本語フォント ---------------------------- IPAexフォント( ``ipaexg.ttf`` )を `app.py` と同じディレクトリに配置 - https://moji.or.jp/ipafont/ipafontdownload/ .. hint:: ``ipaexg.ttf`` 以外のフォントを使用する場合は `setting-section` の `font_file` を設定する。 環境変数 -------- 発行されたトークンを環境変数にセット .. code-block:: shell :caption: Slack利用時 $ export SLACK_APP_TOKEN=xapp-x-xxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx $ export SLACK_WEB_TOKEN=xoxp-xxxxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx $ export SLACK_BOT_TOKEN=xoxb-xxxxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx .. code-block:: shell :caption: Discord利用時 $ export DISCORD_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 起動 ---- .. code-block:: shell :caption: 通常起動 $ uv run app.py 環境変数をファイルに記述する場合 ``app.env`` などの任意のファイル名で環境変数を記述したファイルを準備する .. code-block:: shell :caption: app.env 記述例 $ cat app.env SLACK_APP_TOKEN=xapp-x-xxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx SLACK_WEB_TOKEN=xoxp-xxxxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx SLACK_BOT_TOKEN=xoxb-xxxxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx .. code-block:: shell :caption: フォアグラウンド起動 $ uv run --env-file=app.env app.py .. code-block:: shell :caption: バックグラウンド起動 $ nohup uv run app.py > /dev/null 2>&1 & .. seealso:: systemdを使ったデーモン化 - `slack <../for_slack/daemon>` - `discord <../for_discord/daemon>` 停止 ---- PIDを調べてプロセスをkill。 備考 ---- uv実行時に自動で以下が行われる - Python3.12のインストール(利用していなければ) - 仮想環境の作成 - 依存パッケージのインストール - スクリプトの起動