ModuleNotFoundError in Python SDK

I’m building a custom app using the Python SDK and trying to build out a csv file using a pandas data frame. I can deploy the app, however when I attempt to run it I get the error “ModuleNotFoundError: No module named ‘pandas’”.

  • if possible, how can the pandas library be installed and used within Monday.com?
  • Is there a way to package it into the local code and execute from within the app itself upon deployment?

I don’t really know python that well, but do know that you need to specify your dependences for the monday-code to build correctly.

The AI suggests this:

Using Pandas in a monday.com app with Buildpacks

Since monday.com app uses Buildpacks for containerization, here’s how to properly include pandas in your deployment:

1. Explicit Dependency Declaration

Buildpacks automatically detect and install dependencies when they’re properly declared:

  1. Create/update requirements.txt in your project root:

    pandas==2.1.3
    numpy==1.26.0           # pandas dependency
    python-dateutil==2.8.2  # another pandas dependency
    
  2. Add a runtime.txt to specify your Python version:

    python-3.10.8
    

2. Project Structure

Ensure your project has this basic structure:

your-app/
├── app/              # Your main application code
│   ├── __init__.py
│   └── main.py       # Entry point
├── requirements.txt  # Python dependencies
├── runtime.txt       # Python version
└── Procfile          # (Optional) if needed by Monday.com

3. Verification

Add this to your code to verify the environment:

import sys
import subprocess

def log_environment():
    print(f"Python version: {sys.version}")
    print("Installed packages:")
    subprocess.run(["pip", "list"])

4. Deployment Checklist

  1. Test locally first:

    docker build -t monday-app .
    docker run -it monday-app python -c "import pandas; print(pandas.__version__)"
    
  2. Check monday.com’s build logs for dependency installation messages.

That was it. Thanks @dvdsmpsn!

1 Like