Skip to content

Troubleshooting

This guide covers common issues and their solutions. If you don’t find your issue here, please open a GitHub issue.

”App is damaged and can’t be opened”

Section titled “”App is damaged and can’t be opened””

This is a macOS Gatekeeper issue, not actual damage.

Solution:

Terminal window
xattr -cr /Applications/MLOps\ Desktop.app

Then try opening the app again.

  1. Check that you’re running macOS 12 or later:

    Terminal window
    sw_vers
  2. Check Console.app for crash logs:

    • Open Console.app
    • Search for “MLOps Desktop”
    • Look for recent crash reports
  3. Try downloading the latest version from GitHub Releases

  4. If issues persist, delete preferences and try again:

    Terminal window
    rm -rf ~/Library/Application\ Support/com.mlops.desktop
  1. Right-click the app in Finder
  2. Select Open
  3. Click Open in the dialog
  4. The app will now open normally in the future

The app can’t locate a Python installation.

Solution:

  1. Check if Python is installed:

    Terminal window
    python3 --version
  2. If not installed, install via Homebrew:

    Terminal window
    brew install python@3.11
  3. Configure the path in the app:

    • Click the Python path in the toolbar
    • Enter the correct path (e.g., /opt/homebrew/bin/python3)

A required Python package isn’t installed.

Common packages needed:

Terminal window
pip3 install scikit-learn pandas numpy optuna shap matplotlib

“Permission denied” when installing packages

Section titled ““Permission denied” when installing packages”
Terminal window
# Use --user flag
pip3 install --user package-name
# Or with Homebrew Python
pip3 install --break-system-packages package-name

The app might find the wrong Python.

  1. Find the correct Python path:

    Terminal window
    which python3
    # or
    /opt/homebrew/bin/python3 --version # Homebrew on Apple Silicon
    /usr/local/bin/python3 --version # Homebrew on Intel
  2. Click the Python path in the toolbar

  3. Enter the correct path

  4. Press Enter to save

Check these first:

  1. All nodes are connected
  2. DataLoader has a valid file path
  3. Target column exists in the data
  4. Python path is configured correctly

The target column name doesn’t match your data.

Solution:

  1. Click the DataLoader node
  2. Check the column names in the preview
  3. Update the Trainer’s target column to match exactly (case-sensitive)

Your dataset is too small for the train/test split.

Solution:

  • Use a smaller test_size (e.g., 0.1 instead of 0.2)
  • Add more data to your dataset
  • For very small datasets (fewer than 50 rows), consider using cross-validation instead
  1. Check the output panel for progress messages

  2. For large datasets:

    • Reduce n_estimators for Random Forest
    • Use a simpler model (Logistic Regression)
    • Sample your data first with a Script node
  3. For hyperparameter tuning:

    • Reduce number of trials
    • Use Random search instead of Grid search
  4. Click Stop if needed and adjust settings

Set a random_state for reproducibility:

  1. Click the Trainer node
  2. Set Random State to a fixed number (e.g., 42)
  3. Re-run the pipeline
  1. Check the file path is correct

  2. Verify the file exists:

    Terminal window
    ls -la /path/to/your/file.csv
  3. Check file permissions:

    Terminal window
    chmod 644 /path/to/your/file.csv
  4. For CSV files, ensure it’s UTF-8 encoded

Your file is too large for available RAM.

Solutions:

  1. Sample the data:

    # In a Script node
    df = df.sample(frac=0.1) # Use 10% of data
  2. Convert to Parquet format (smaller, faster)

  3. Close other applications to free memory

  4. Use a machine with more RAM

Convert to UTF-8:

Terminal window
iconv -f ISO-8859-1 -t UTF-8 input.csv > output.csv

Or detect encoding:

Terminal window
file -I your_file.csv
  1. Press Cmd + 1 to fit all nodes in view
  2. Or zoom out with Cmd + scroll
  3. Or reset zoom with Cmd + 0

Click on a node to select it. The properties panel shows settings for the selected node.

  1. Run the pipeline first
  2. Click on a node to see its specific output
  3. Check the “All” tab to see combined output
  1. Close unused pipelines
  2. Reduce number of nodes on canvas
  3. Clear run history if it’s very long
  4. Restart the app
  1. Check disk space:

    Terminal window
    df -h
  2. Verify the app data directory exists:

    Terminal window
    ls ~/Library/Application\ Support/com.mlops.desktop/
  3. Check file permissions:

    Terminal window
    ls -la ~/Library/Application\ Support/com.mlops.desktop/

If a pipeline references files that have moved:

  1. Open the pipeline
  2. Update the DataLoader file paths
  3. Re-save the pipeline

Pipelines are stored in:

~/Library/Application Support/com.mlops.desktop/

If you accidentally deleted this folder, the pipelines cannot be recovered (unless you have a backup).

Install SHAP:

Terminal window
pip3 install shap

If installation fails, you may need Xcode command line tools:

Terminal window
xcode-select --install
pip3 install shap

SHAP can be slow on large datasets.

Solutions:

  1. Use a smaller sample:

    # SHAP will use a sample automatically for large datasets
  2. Use TreeExplainer for tree-based models (faster than KernelExplainer)

  3. Reduce the number of samples to explain

Application logs are stored at:

Terminal window
~/Library/Logs/com.mlops.desktop/
  1. Go to GitHub Issues
  2. Click “New Issue”
  3. Include:
    • macOS version (sw_vers)
    • Python version (python3 --version)
    • Steps to reproduce
    • Error messages from the output panel
    • Screenshots if helpful

Open a GitHub Discussion to propose new features.