トラブルシューティングガイド

ラマン分光分析アプリケーションの一般的な問題と解決方法


📋 目次


インストール問題

問題1: "Python not found"エラー

症状:

'python' is not recognized as an internal or external command

原因: Pythonがインストールされていないか、PATHに追加されていません

解決策:

Windows:

# 1. Python 3.10以上をダウンロード
https://www.python.org/downloads/

# 2. インストール時に「Add Python to PATH」にチェック

# 3. 確認
python --version

macOS:

# Homebrewを使用
brew install python@3.10

# 確認
python3 --version

Linux:

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install python3.10 python3-pip

# 確認
python3 --version

問題2: "Permission denied"インストールエラー

症状:

ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied

原因: システムディレクトリへの書き込み権限がありません

解決策:

オプション1: 仮想環境を使用(推奨)

# 仮想環境を作成
python -m venv venv

# 有効化
source venv/bin/activate  # macOS/Linux
venv\Scripts\activate     # Windows

# インストール(リポジトリ内で実行)
pip install -e .

問題3: UVのインストールが失敗する

症状:

Failed to install UV package manager

解決策:

Windows:

# PowerShellを管理者として実行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

# 再度実行
irm https://astral.sh/uv/install.ps1 | iex

# または手動ダウンロード
https://github.com/astral-sh/uv/releases

macOS/Linux:

# curlが利用できない場合
brew install curl

# または wgetを使用
wget -qO- https://astral.sh/uv/install.sh | sh

# PATH に追加
export PATH="$HOME/.cargo/bin:$PATH"
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc

問題4: 依存関係の競合

症状:

ERROR: Could not install the project because these package versions have conflicting dependencies

解決策:

# 1. 新しい仮想環境を作成
python -m venv clean_env
source clean_env/bin/activate  # または clean_env\Scripts\activate

# 2. pipを更新
pip install --upgrade pip setuptools wheel

# 3. 依存関係を1つずつインストール
pip install numpy scipy pandas
pip install PyQt6 matplotlib
pip install scikit-learn

# 4. アプリケーションをインストール(リポジトリから)
pip install -e .

# または(編集可能インストールが不要なら)
pip install .

特定のバージョンを指定:

# 互換性のあるバージョンを使用
pip install numpy==1.24.0 scipy==1.11.0 scikit-learn==1.3.0

起動とクラッシュ

問題5: アプリケーションが起動しない

症状: ダブルクリックしても何も起こらない

診断ステップ:

# ステップ1: ターミナルから実行してエラーを確認
python main.py

# ステップ2: 依存関係を確認
pip list | grep -E "PyQt6|numpy|scipy|sklearn|matplotlib|pandas"

# ステップ3: Pythonバージョンを確認
python --version  # 3.10以上が必要

一般的な解決策:

解決策A: PyQt6の問題

# PyQt6を再インストール
pip uninstall PyQt6 PyQt6-Qt6 PyQt6-sip
pip install PyQt6

解決策B: 環境変数

# Linux/macOS
export QT_DEBUG_PLUGINS=1
python main.py

# Windows (PowerShell)
$env:QT_DEBUG_PLUGINS=1
python main.py

解決策C: ディスプレイ設定

# Linux リモート接続の場合
export DISPLAY=:0
xhost +

# または Xvfb を使用
xvfb-run python main.py

問題6: 起動後すぐにクラッシュ

症状: スプラッシュスクリーン表示後にクラッシュ

ログを確認:

# ログファイルの場所
# Windows
type %APPDATA%\RamanApp\logs\app.log

# macOS
cat ~/Library/Logs/RamanApp/app.log

# Linux
cat ~/.local/share/RamanApp/logs/app.log

一般的なエラーと解決策:

エラー1: "Qt platform plugin"エラー

This application failed to start because no Qt platform plugin could be initialized

解決策:

# Linux
sudo apt-get install libxcb-xinerama0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0

# PyQt6を再インストール
pip install --force-reinstall PyQt6

エラー2: "OpenGL"エラー

Could not initialize OpenGL

解決策:

# ソフトウェアレンダリングを使用
export QT_QUICK_BACKEND=software
python main.py

# またはアプリ設定
設定  グラフィックス  
「ソフトウェアレンダリングを使用」

エラー3: “Segmentation fault”

Segmentation fault (core dumped)

解決策:

# 1. すべての依存関係を更新
pip install --upgrade numpy scipy matplotlib PyQt6

# 2. 競合するパッケージを削除
pip uninstall PyQt5  # PyQt5とPyQt6の競合

# 3. システムライブラリを更新(Linux)
sudo apt-get update
sudo apt-get upgrade

問題7: ランダムなクラッシュ

症状: 使用中に不定期にクラッシュ

診断:

# デバッグモードで実行
python main.py --debug

# または
python -m pdb main.py

一般的な原因:

  1. メモリ不足

    # メモリ使用量を確認
    # Linux
    free -h
    
    # macOS
    vm_stat
    
    # Windows (PowerShell)
    Get-Process python | Select-Object WS
    

    解決策: データサイズを減らす、RAMを増やす

  2. スレッディング問題

    # 設定で並列処理を無効化
    設定 → パフォーマンス → 
    「並列処理を使用」のチェックを外す
    
  3. 破損した設定ファイル

    # 設定をリセット
    # Windows
    rd /s "%APPDATA%\RamanApp"
    
    # macOS/Linux
    rm -rf ~/.config/RamanApp/
    

データロード問題

問題8: CSVファイルが読み込めない

症状: "Failed to load file"エラー

診断:

# Pythonで手動確認
import pandas as pd
df = pd.read_csv('your_file.csv')
print(df.head())
print(df.shape)
print(df.dtypes)

一般的な問題と解決策:

問題A: エンコーディングエラー

UnicodeDecodeError: 'utf-8' codec can't decode byte

解決策:

# 異なるエンコーディングを試す
# CSVをUTF-8で再保存

# Excel で:
名前を付けて保存 → CSV UTF-8 (カンマ区切り)

# Python で変換:
import pandas as pd
df = pd.read_csv('file.csv', encoding='latin1')
df.to_csv('file_utf8.csv', encoding='utf-8', index=False)

問題B: 区切り文字の問題

データが1列にまとめられている

解決策:

# セミコロン区切りの場合
df = pd.read_csv('file.csv', sep=';')

# タブ区切りの場合
df = pd.read_csv('file.txt', sep='\t')

# 自動検出
df = pd.read_csv('file.csv', sep=None, engine='python')

問題C: 小数点の問題

数値がNaNになる

解決策:

# カンマが小数点の場合(ヨーロッパ形式)
df = pd.read_csv('file.csv', decimal=',')

# アプリ内設定
設定 → データ → 小数点記号: カンマ

問題D: ヘッダーの問題

列名が正しく認識されない

解決策:

# 正しいフォーマット:
Wavenumber,Sample1,Sample2
400,0.123,0.145
401,0.134,0.156

# 間違ったフォーマット(複数のヘッダー行):
# Experiment 1
# Date: 2026-01-24
Wavenumber,Sample1,Sample2
400,0.123,0.145

最初のヘッダー行のみを残し、コメント行を削除

問題9: “Memory Error” データロード時

症状: 大きなファイルのロード時にメモリエラー

解決策:

方法1: チャンク読み込み

# 大きなファイルをチャンクで読み込む
import pandas as pd

chunks = []
for chunk in pd.read_csv('large_file.csv', chunksize=1000):
    # 必要な処理
    processed = chunk[chunk['Wavenumber'].between(500, 2000)]
    chunks.append(processed)

df = pd.concat(chunks)

方法2: 波数範囲を制限

データをロード → 
フィルタ → 波数範囲 → 
範囲を指定(例: 500-2000 cm⁻¹)

方法3: ダウンサンプリング

データをロード → 
リサンプル → 
ステップ: 2(2ポイントごと)または 3

方法4: データ型の最適化

# float64 → float32に変換
df = df.astype('float32')

# アプリ設定
設定 → データ → 
「float32を使用(メモリ節約)」

問題10: スペクトルが正しく表示されない

症状: ロード後のスペクトルがおかしい

確認項目:

  1. 波数の順序

    # 昇順であるべき
    wavenumbers = [400, 401, 402, ..., 2000]
    
    # 降順の場合は反転
    データ → 変換 → 波数を反転
    
  2. 単位

    波数単位: cm⁻¹
    強度単位: 任意(自動スケーリング)
    
  3. 外れ値

    # 異常な値を確認
    データ → 統計 → 
    最小値、最大値、中央値を確認
    
    # 外れ値を除去またはクリップ
    データ → フィルタ → 
    「外れ値を除去」
    

前処理エラー

問題11: ベースライン補正が機能しない

症状: 適用後もベースラインが残る

診断:

前処理 → プレビュー → 
青線(元)と緑線(処理後)を比較

解決策:

問題A: lambdaが大きすぎる

現在: lambda = 10000000
→ ベースラインが過度に平坦化、ピークも除去

推奨: lambda = 100000

問題B: pが大きすぎる

現在: p = 0.5
→ 非対称性が弱い、ピークがベースラインとして扱われる

推奨: p = 0.01

問題C: 反復回数が不足

設定 → AsLS → 
max_iter: 10(デフォルト)→ 20に増やす

問題D: データが適さない

# 負の値がある場合
データ → 変換 → 
「負の値をゼロに設定」

# または異なる手法を試す
AsLS → AirPLS または Whittaker

問題12: スムージング後にピークが消える

症状: Savitzky-Golay適用後にピークが消失

原因: ウィンドウサイズが大きすぎる

解決策:

# 現在の設定
window = 51  # 大きすぎる!
polyorder = 3

# 推奨設定
window = 11  # ピーク幅の約1/3
polyorder = 2 または 3

# 経験則
ピーク幅が約30ポイント → window = 9-11
ピーク幅が約10ポイント → window = 5-7

段階的調整:

1. window = 5 で開始(ノイズ多め)
2. window = 7
3. window = 11
4. window = 15(滑らかだがピーク保持)
5. window = 21(過度に滑らか)

最適なバランスを見つける

問題13: 正規化が期待通りに機能しない

症状: 正規化後もスペクトルのスケールが大きく異なる

診断:

# 正規化前後の統計を確認
データ → 統計 → 
各スペクトルの min, max, mean を確認

問題と解決策:

問題A: 外れ値の影響

1つの外れ値がスケーリングを歪める

解決策:
1. 外れ値を除去
   データ → フィルタ → 外れ値除去
2. ロバストな正規化を使用
   ベクトルノルム → 分位点正規化

問題B: 間違った正規化手法

目的に応じた選択:

探索的分析 → ベクトルノルム
定量分析 → SNV または MSC
比較分析 → 最大値正規化

問題C: 負の値

SNV は負の値があると失敗する可能性

解決策:
1. ベースライン補正を先に実行
2. または Min-Max正規化を使用

問題14: "Singular matrix"エラー

症状:

numpy.linalg.LinAlgError: Singular matrix

原因: 行列が特異(逆行列が存在しない)

一般的な状況:

  1. 重複データ

    解決策:
    データ → 重複を削除
    
  2. 定数列(分散ゼロ)

    # すべてのスペクトルで同じ値を持つ波数
    
    解決策:
    前処理 → 特徴量選択 → 
    「低分散特徴量を除去」
    閾値: 0.001
    
  3. 線形従属

    いくつかの列が他の列の線形結合
    
    解決策:
    分析前にPCAで次元削減:
    前処理 → PCA → 
    n_components: 50(またはデータサイズに応じて)
    
  4. サンプル数 < 特徴量数

    5サンプル vs 1000波数 → 問題
    
    解決策:
    - より多くのサンプルを収集
    - PCAで次元削減
    - 波数範囲を制限
    

分析エラー

問題15: PCAで"explained variance"が低い

症状: 最初の2成分で説明分散が50%未満

原因と解決策:

原因A: データのノイズが多い

解決策:
1. 前処理を改善
   - より強いスムージング
   - より良いベースライン補正
2. 外れ値を除去
3. より多くの成分を使用(5-10)

原因B: データが複雑

多くの独立した変動源がある

これは正常な場合もある:
- 生物学的サンプルの自然な変動
- 複雑な混合物
- 多数の化合物

対応:
- より多くの成分を使用
- 非線形手法を試す(UMAP)

原因C: 前処理が不十分

解決策:
1. ベースライン補正を確認
2. 正規化を確認
3. スケーリングを追加

問題16: クラスタリングで意味のない結果

症状: すべてのサンプルが1つのクラスターに、または各サンプルが別々のクラスター

診断:

1. スコアプロット(PCA/UMAP)を確認
   → 視覚的な分離があるか?

2. デンドログラム(階層的)を確認
   → 自然なグループがあるか?

3. シルエットスコアを確認
   → スコア > 0.5 が良好

解決策:

問題A: パラメータが不適切

K-means:
- k が大きすぎる → 減らす
- k が小さすぎる → 増やす
→ エルボー法で最適なkを決定

DBSCAN:
- eps が大きすぎる → すべて1クラスター
- eps が小さすぎる → すべて外れ値
→ k-距離プロットで調整

問題B: 前処理が不適切

クラスタリングはスケールに敏感

解決策:
1. 適切な正規化(StandardScaler)
2. PCAで前処理(オプション)

問題C: データが実際にクラスターを持たない

すべてのサンプルが連続的な分布

対応:
- 階層的クラスタリングを使用
- デンドログラムで構造を確認
- 連続的な変動として扱う

問題17: 統計検定で"すべてのp値が有意"

症状: 数千の波数すべてでp < 0.05

原因: 多重比較問題

解決策:

分析 → 統計検定 → 
多重比較補正を有効化:

オプション1: Bonferroni(保守的)
  α_adjusted = 0.05 / n_tests
  例: 1000検定 → α = 0.00005

オプション2: FDR(False Discovery Rate)
  より緩やか、より多くの発見
  q値 < 0.05 を使用

オプション3: FWERコントロール
  Holm-Bonferroni法

結果の解釈:

補正後:
- 有意な波数が少数 → 真の差
- 依然として多数が有意 → 強い差がある
- 有意な波数なし → 差があるがわずか

機械学習問題

問題18: モデルの精度が非常に低い(<60%)

症状: トレーニング精度もテスト精度も低い → 過小適合

診断:

# 学習曲線を確認
機械学習 → 評価 → 学習曲線

両方のスコアが低く平坦 → 過小適合

解決策:

ステップ1: 前処理を改善

現在の前処理を確認:
- ベースライン補正は適用済みか?
- 正規化は適用済みか?
- ノイズは除去したか?

推奨パイプライン:
1. AsLS (lambda=100000)
2. Savitzky-Golay (window=11)
3. SNV
4. (オプション)一次微分

ステップ2: より複雑なモデルを使用

現在: ロジスティック回帰(線形)
→ Random Forest または XGBoost(非線形)

または
SVM でカーネルを変更:
linear → rbf または poly

ステップ3: 特徴量を増やす

現在: PCAで10成分のみ
→ 50-100成分に増やす

または PCA を使用しない

ステップ4: ハイパーパラメータを調整

機械学習 → 設定 → 
グリッドサーチを有効化

Random Forest:
- n_estimators: 100 → 500
- max_depth: None(無制限)
- min_samples_split: 2 → 5

問題19: トレーニング精度99%、テスト精度60% → 過学習

症状: トレーニングとテストの大きな差

診断:

過学習の兆候:
✓ 訓練精度 >> テスト精度
✓ 学習曲線: 訓練誤差減少、検証誤差増加
✓ CV スコアの分散が大きい

解決策:

ステップ1: データを増やす

最も効果的だが、常に可能とは限らない

可能なら:
- より多くのサンプルを収集
- データ拡張(ノイズ追加など)

ステップ2: 正則化を増やす

Random Forest:
- max_depth を制限: None → 10
- min_samples_leaf を増やす: 1 → 5
- max_features を減らす: 'auto' → 'sqrt'

SVM:
- C を減らす: 1.0 → 0.1
- gamma を減らす: 'auto' → 0.001

XGBoost:
- reg_lambda を増やす: 0 → 1.0
- reg_alpha を増やす: 0 → 0.5
- max_depth を制限: 6 → 3

ステップ3: 特徴量を減らす

PCA で次元削減:
1000波数 → 50主成分

または特徴量選択:
- 分散閾値法
- 相互情報量
- RFE(再帰的特徴削減)

ステップ4: クロスバリデーションを使用

機械学習 → 設定 → 
クロスバリデーション: 5-fold

結果が安定していることを確認

ステップ5: 早期停止(XGBoost/NNの場合)

XGBoost設定:
early_stopping_rounds = 10
eval_metric = 'mlogloss'
eval_set = [(X_val, y_val)]

問題20: “ValueError: Found input variables with inconsistent numbers of samples”

症状:

ValueError: Found input variables with inconsistent numbers of samples: [100, 80]

原因: Xとyのサンプル数が一致しない

診断:

print(f"X shape: {X.shape}")  # (100, 1000)
print(f"y shape: {y.shape}")  # (80,)
→ サンプル数が一致しない!

一般的な原因と解決策:

原因A: ラベルの欠落

一部のサンプルにラベルがない

解決策:
1. データ → グループ → 
   すべてのサンプルがグループに属していることを確認

2. または欠落サンプルを除去

原因B: フィルタリングの不一致

データをフィルタしたが、ラベルは更新しなかった

解決策:
フィルタ操作後にデータとラベルを同期

原因C: データ分割エラー

# 間違い
X_train, X_test = train_test_split(X, test_size=0.3)
y_train, y_test = train_test_split(y, test_size=0.3)
→ 異なるランダムシードで分割される

# 正しい
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.3, random_state=42
)

問題21: XGBoostが非常に遅い

症状: トレーニングに数時間かかる

原因と解決策:

原因A: tree_methodが最適でない

# 遅い(デフォルト)
tree_method = 'auto'

# 高速(GPUがある場合)
tree_method = 'gpu_hist'

# 高速(CPUの場合)
tree_method = 'hist'

# アプリ内設定
機械学習 → XGBoost → 設定 → 
tree_method: 'hist'

原因B: ハイパーパラメータ探索が広すぎる

# グリッドサーチの範囲を制限
機械学習 → 設定 → グリッドサーチ → 
パラメータ数を減らす

# 例
n_estimators: [50, 100]  # [50, 100, 200, 500] の代わりに
max_depth: [3, 5]        # [3, 5, 7, 10] の代わりに

原因C: データサイズが大きい

解決策:
1. PCAで特徴量を削減: 1000 → 100
2. サンプリング: 全データの80%でトレーニング
3. 早期停止を使用

原因D: n_estimatorsが大きすぎる

# 現在
n_estimators = 1000  # 遅い

# 推奨(早期停止と組み合わせ)
n_estimators = 100-300
early_stopping_rounds = 10

パフォーマンス問題

問題22: UI がフリーズする

症状: 処理中にUIが応答しない

原因: メインスレッドでの重い計算

回避策:

設定 → パフォーマンス → 
「バックグラウンド処理を使用」にチェック

一時的な解決策:

- 処理の進行を待つ(進行状況バーが表示される)
- 強制終了しない(データが失われる可能性)

恒久的な解決策:

1. より小さなデータセットでテスト
2. プレビューを無効化
3. より高速なアルゴリズムを使用

問題23: メモリ使用量が増え続ける

症状: アプリが時間とともに遅くなる

原因: メモリリーク

診断:

# メモリ使用量を監視
# Linux
watch -n 1 'ps aux | grep python'

# Windows (PowerShell)
while($true) {
    Get-Process python | Select-Object WS; 
    Start-Sleep 1
}

解決策:

短期的:

定期的にアプリを再起動
ファイル → 再起動

長期的:

1. 不要なデータをクリア
   データ → クリア → 
   「前処理済みデータをクリア」

2. 結果をエクスポートしてからクリア

3. キャッシュをクリア
   設定 → キャッシュ → クリア

4. ガベージコレクションを強制
   設定 → パフォーマンス → 
   「定期的なガベージコレクション」

問題24: 大きなファイルのエクスポートが遅い

症状: Excelエクスポートに10分以上かかる

解決策:

方法1: より高速なフォーマットを使用

Excel → CSV に変更
(10倍高速)

方法2: エクスポートを分割

1. データを複数のファイルに分割
   - data_part1.xlsx (1-1000)
   - data_part2.xlsx (1001-2000)

2. または必要なシートのみエクスポート

方法3: 圧縮を無効化

エクスポート → オプション → 
「圧縮を無効化」にチェック

方法4: 形式を見直す(大規模データ)

大規模データの場合は、まず CSV ではなく PKL(pickle)などの形式を検討してください。
※ HDF5 形式のエクスポートは現時点では未対応です。

UI/表示問題

問題25: 図が表示されない

症状: 空白の図エリア

診断:

# Matplotlibバックエンドを確認
python -c "import matplotlib; print(matplotlib.get_backend())"

# 期待される出力: Qt5Agg または Qt6Agg

解決策:

方法1: バックエンドを変更

# matplotlibrcファイルを編集
# Linux/macOS: ~/.matplotlib/matplotlibrc
# Windows: %USERPROFILE%\.matplotlib\matplotlibrc

backend: Qt6Agg

# またはコード内
import matplotlib
matplotlib.use('Qt6Agg')

方法2: ソフトウェアレンダリング

設定 → グラフィックス → 
「ソフトウェアレンダリングを使用」

方法3: Matplotlibを再インストール

pip uninstall matplotlib
pip install matplotlib

問題26: フォントが正しく表示されない

症状: 文字化けまたは□が表示される

原因: 必要なフォントがない

解決策:

Windows:

# 日本語フォントをインストール
設定 → 時刻と言語 → 言語 → 
日本語 → オプション → フォントを追加

macOS:

# システムフォントを使用
設定  フォント  
「システムフォントを使用」

Linux:

# 日本語フォントをインストール
sudo apt-get install fonts-noto-cjk

# フォントキャッシュを更新
fc-cache -fv

# Matplotlibキャッシュをクリア
rm -rf ~/.cache/matplotlib

アプリ内設定:

設定 → 外観 → フォント → 
日本語対応フォントを選択:
- Noto Sans CJK JP
- MS Gothic (Windows)
- Hiragino Sans (macOS)

問題27: ハイDPI画面で表示が小さい

症状: 4Kモニターでテキストやボタンが小さすぎる

解決策:

Windows:

# アプリケーション設定
設定 → 外観 → スケーリング → 
150% または 200%

# またはシステム設定
設定 → システム → ディスプレイ → 
拡大/縮小レイアウト: 150%

macOS:

# Retinaディスプレイで自動的に調整されるはず

# 問題がある場合:
システム環境設定 → ディスプレイ → 
解像度: スケーリング

Linux:

# 環境変数を設定
export QT_SCALE_FACTOR=1.5

# または ~/.bashrc に追加
echo 'export QT_SCALE_FACTOR=1.5' >> ~/.bashrc

# アプリ内
設定  外観  スケーリング  150%

エクスポート問題

問題28: Excelエクスポートが失敗する

症状: “Failed to export to Excel”

診断:

# openpyxl がインストールされているか確認
pip list | grep openpyxl

# インストールされていない場合
pip install openpyxl

一般的な問題:

問題A: Excelファイルが開いている

エラー: Permission denied

解決策:
1. Excelを閉じる
2. 別の名前で保存

問題B: パスに特殊文字

ファイル名: results (2).xlsx
→ 括弧が問題を引き起こす可能性

解決策:
英数字とアンダースコアのみ使用:
results_2.xlsx

問題C: ディスク容量不足

確認:
# Linux/macOS
df -h

# Windows
wmic logicaldisk get size,freespace,caption

解決策:
不要なファイルを削除、または別のドライブに保存

問題29: 図のエクスポート品質が悪い

症状: 保存したPNG画像がぼやけている

解決策:

方法1: DPIを上げる

図を右クリック → 画像として保存 → 
DPI: 300(印刷用)または 600(高品質)

デフォルト: 100(画面用)

方法2: ベクトル形式を使用

フォーマット: PNG → SVG
(拡大縮小しても品質維持)

方法3: サイズを大きくする

図の設定 → サイズ → 
幅: 3000 pixels
高さ: 2000 pixels

方法4: アンチエイリアスを有効化

設定 → グラフィックス → 
「高品質レンダリング」にチェック

プラットフォーム固有の問題

Windows固有

問題30: “VCRUNTIME140.dll が見つかりません”

解決策:

1. Visual C++ Redistributable をダウンロード
   https://aka.ms/vs/17/release/vc_redist.x64.exe

2. インストーラーを実行

3. アプリを再起動

問題31: Windows Defenderがブロック

症状: “WindowsによってPCが保護されました”

解決策:

1. 「詳細情報」をクリック
2. 「実行」をクリック

または

1. Windows Defender → 除外 → 
2. アプリケーションフォルダを追加

macOS固有

問題32: “開発元を確認できないため開けません”

解決策:

# ターミナルで
sudo xattr -cr /Applications/RamanApp.app

# または
sudo xattr -rd com.apple.quarantine /Applications/RamanApp.app

その後:

システム環境設定 → セキュリティとプライバシー → 
「このまま開く」をクリック

問題33: macOS Big Sur以降でクラッシュ

原因: Rosetta 2の問題(M1/M2 Macの場合)

解決策:

# Rosetta 2をインストール
softwareupdate --install-rosetta

# またはネイティブARMバージョンを使用
(注)pip での配布は現時点では未対応です。

Linux固有

問題34: "libGL error"エラー

症状:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

解決策:

# Ubunt/Debian
sudo apt-get install libgl1-mesa-glx libgl1-mesa-dri

# Fedora
sudo dnf install mesa-libGL mesa-dri-drivers

# Arch
sudo pacman -S mesa

問題35: Wayland vs X11の問題

症状: アプリが起動しない(Wayland使用時)

解決策:

# X11を強制使用
export QT_QPA_PLATFORM=xcb
python main.py

# または ~/.bashrc に追加
echo 'export QT_QPA_PLATFORM=xcb' >> ~/.bashrc

🆘 それでも解決しない場合

ログの収集

# 1. ログファイルを見つける
# Windows
type %APPDATA%\RamanApp\logs\app.log

# macOS
cat ~/Library/Logs/RamanApp/app.log

# Linux
cat ~/.local/share/RamanApp/logs/app.log

# 2. 詳細ログを有効化
python main.py --debug --log-level DEBUG > debug.log 2>&1

バグレポートの作成

GitHub Issueを作成する際に含めるべき情報:

**環境**
- OS: [Windows 11 / macOS 13 / Ubuntu 22.04]
- Pythonバージョン: [3.10.8]
- アプリバージョン: [1.0.0]
- インストール方法: [pip / 実行可能ファイル / ソース]

**問題の説明**
何が起こったかを明確に説明

**再現手順**
1. データをロード
2. AsLS を適用
3. PCA を実行
4. → エラー発生

**期待される動作**
何が起こるべきだったか

**実際の動作**
何が実際に起こったか

**エラーメッセージ**

完全なエラーメッセージを貼り付け


**ログ**

関連するログエントリを貼り付け


**スクリーンショット**
可能であれば添付

サポートを受ける


📚 関連リソース


最終更新: 2026年1月24日