{"record":{"id":"77fbefdb34305623","repo":"reflex-dev/reflex","slug":"please-install-pandas-to-use-dataframes-in-your-ap","errorCode":null,"errorMessage":"Please install pandas to use dataframes in your app.","messagePattern":"Please install pandas to use dataframes in your app\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"packages/reflex-base/src/reflex_base/utils/types.py","lineNumber":1373,"sourceCode":"    if is_optional(t):\n        return None\n\n    origin = get_origin(t) if is_generic_alias(t) else t\n    if origin is Literal:\n        args = get_args(t)\n        return args[0] if args else None\n    if safe_issubclass(origin, TYPES_THAT_HAS_DEFAULT_VALUE):\n        return origin()\n    if safe_issubclass(origin, Mapping):\n        return {}\n    if is_dataframe(origin):\n        try:\n            import pandas as pd\n\n            return pd.DataFrame()\n        except ImportError as e:\n            msg = \"Please install pandas to use dataframes in your app.\"\n            raise ImportError(msg) from e\n    return None\n\n\nIMMUTABLE_TYPES = (\n    int,\n    float,\n    bool,\n    str,\n    bytes,\n    frozenset,\n    tuple,\n    type(None),\n    Enum,\n)\n\n\ndef is_immutable(i: Any) -> bool:\n    \"\"\"Check if a value is immutable.","sourceCodeStart":1355,"sourceCodeEnd":1391,"githubUrl":"https://github.com/reflex-dev/reflex/blob/45b8ed5ab735f8a56bbb09a42384f030eb0208e7/packages/reflex-base/src/reflex_base/utils/types.py#L1355-L1391","documentation":"Raised when a state var or default value of type pd.DataFrame is requested but pandas is not installed in the environment. reflex-base attempts `import pandas` lazily and converts the ImportError into a friendlier message telling you to install pandas. It occurs in get_default_value_for_type when generating a default for a DataFrame-annotated field.","triggerScenarios":"Annotating state (e.g. df: pd.DataFrame) or calling code that needs a default DataFrame while pandas is absent, e.g. a fresh venv with only reflex installed, or a deployment image (Docker) that never ran `pip install pandas`.","commonSituations":"Deploying to a slim Docker/CI image without pandas; teammates with different lockfiles; adding pandas-dependent code locally but forgetting to add it to requirements.txt/pyproject dependencies.","solutions":["Install pandas into the environment Reflex runs in: uv add pandas (or pip install pandas)","If using Docker, add pandas to the image / requirements and rebuild","Verify with `uv run python -c \"import pandas\"` in the same environment the app runs","If you don't need dataframes, remove/change the DataFrame annotation causing the default lookup"],"exampleFix":"# before\nclass State(rx.State):\n    df: pd.DataFrame  # ImportError: Please install pandas...\n# after (shell)\nuv add pandas","handlingStrategy":"type-guard","validationCode":"import importlib.util\nif importlib.util.find_spec('pandas') is None:\n    raise SystemExit('pandas is required for this app: pip install pandas')","typeGuard":"def has_pandas() -> bool:\n    import importlib.util\n    return importlib.util.find_spec('pandas') is not None","tryCatchPattern":"try:\n    import pandas as pd  # noqa: F401\nexcept ImportError as e:\n    raise SystemExit('Please install pandas to use dataframes in your app.') from e","preventionTips":["Add pandas to pyproject dependencies if any state uses DataFrames","Use slim Docker images that include pandas; verify with a smoke import in CI"],"tags":["reflex","pandas","missing-dependency","importerror"],"backgroundTag":"missing-optional-dependency","analyzedSha":"45b8ed5ab735f8a56bbb09a42384f030eb0208e7","analyzedAt":"2026-08-28T19:25:27.644Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}