mdslide

ADR-0019 書き出しに使う Python を起動時に確かめ、無ければ入れ方を案内する

状況

決定

  1. main プロセスが Python を探す(electron/python.ts)。順序は、明示の指定(環境変数 MDSLIDE_PYTHON、設定 export.python)があればそれだけ。無ければ mdslide 専用の環境(settings.json の隣の venv)、PATH、macOS でよく使われる場所(/opt/homebrew/bin/usr/local/bin、python.org の Framework、pyenv、/usr/bin)の順。
  2. 各候補で import pptx を試し、最初に成功したものを書き出しに使う。成功しなければ、最初に動いた Python と「python-pptx が無い」ことを返す。
  3. macOS で Command Line Tools が無い(xcode-select -p が失敗する)とき、/usr/bin/python3 は実行しない。
  4. アプリの起動時に確かめ(IPC python:check)、使えなければバナーで知らせる。バナーと、Python が原因で書き出しに失敗したときの通知から、設定の「書き出し」を開ける。
  5. 設定の「書き出し」には、状態、再確認、Python の場所の指定、入れ方をコピーできるコマンドで示す。おすすめは mdslide 専用の環境を作る方法(python3 -m venv <設定フォルダ>/venvpip install python-pptx)。アプリはこの場所を最初に探すので PATH に左右されず、Homebrew の Python の「外部管理環境」制限にも当たらない。Python 自体が無ければ xcode-select --install を先に示す。
  6. アプリがインストールを自動実行することはしない。

結果

状態