開発者向けガイド (Development)
ソースコードからの実行や、開発環境のセットアップ方法について説明します。
🐍 ソースコードから実行する場合
必要条件: Python 3.12 以上
🚀 自動セットアップスクリプト(推奨)
Linux (Ubuntu) および macOS 環境向けに、OSパッケージのインストールから仮想環境(.venv)の構築、必要なPython依存パッケージやNode.jsなどの開発ツールのインストールまでを自動化する便利なスクリプトが用意されています。
ターミナルを開き、リポジトリのルートディレクトリで以下のコマンドを実行するだけで準備が整います:
※ 実行中、パスワードの入力やMacPortsでのデフォルト設定など、いくつかの確認が求められる場合があります。
セットアップ完了後は、以下のコマンドで仮想環境を有効化してからアプリケーションを起動してください。
🛠️ 手動でセットアップする場合
自動スクリプトを使用せず、各環境に合わせて手動で構築したい場合は、以下の手順を参照してください。
Linux / Ubuntu: 手動で仮想環境 (venv) を構築する
リリース版(AppImage/ZIP)はそのまま動作しますが、ソースコードから実行する場合に APT(OSパッケージ)の Python 依存(例: PyQt6 など)が古くて動かないことがあります。 そのため Linux では、システムの Python はそのまま使いつつ、依存パッケージは venv + pip で入れる運用を推奨します。
-
OS 依存ライブラリ(最低限)を入れます。
sounddeviceは PortAudio を利用するため、実行時にlibportaudio2が必要です。soundfileは libsndfile を利用するため、実行時にlibsndfile1が必要です。
もし
pip installでビルドエラーが出る場合のみ、追加で開発ヘッダ等を入れてください: -
仮想環境を作成して有効化します(例: リポジトリ直下に
.venv)。以降は
python/pipが venv を指します(sudo pipは使わないでください)。※
activateを使わずに実行したい場合は、常に venv の Python を直接呼び出してもOKです: -
リポジトリをクローンします。
-
依存関係をインストールします(再現性のため constraints を利用):
-
アプリケーションを起動します:
macOS: MacPorts + Python 3.12 + pyFFTW を使用する場合
(macOS 13 以降で動作確認済み)
macOS で pyFFTW をインストールする場合、パッケージマネージャ(MacPorts 推奨)でインストールした FFTW ライブラリを明示的に指定する必要があります。
-
MacPorts の更新と必要パッケージのインストール:
-
Python のバージョン選択:
※ 設定後、ターミナルを再起動してください。
-
仮想環境の作成と有効化:
-
pyFFTW のインストール(FFTW のパスを明示指定):
-
依存パッケージのインストール:
🛠️ 開発向けセットアップ
テストやLint/型チェック、ドキュメントのビルドを実行する場合は追加のパッケージをインストールしてください。
-
コード開発(テスト/Lintなど):
※ zsh を使用している場合は
.[dev]を".[dev]"のように引用符で囲む必要があります。 -
ドキュメント開発(MkDocs):
-
Lint:
ruff check src scripts tests - Type check:
mypy src - Tests:
pytest(ハードウェア/GUI依存テストは環境変数が必要; CIではデフォルトでスキップ)