Skip to content

psutil and bokeh are not dependencies, raise ImportErrors when Profiler is used #983

@ahmadia

Description

@ahmadia

I know there was an effort to pull out some of the dependencies in dask last year, and I just had an extended discussion with @jcrist about what is or isn't an optional dependency.

I'd strongly suggest that if dask is going to get wider adoption, that this be handled more gracefully. I can think of three reasonable solutions here (feel free to add others if I missed something):

1] pull dask subcomponents out so that they get to remain lightweight, this makes the overall development process harder to coordinate but encourages more ownership as well of the individual pieces and has a slew of other pros/cons
2] bite the bullet and add bokeh/psutil/etc... back in as dependencies to the conda package. I'm less concerned with folks who install dask from other sources, but the conda package should install everything a user who expects to interact with dask may need.
3] handle all import errors of optional dependencies more gracefully. Possibly by adding a thin wrapper function around these imports that catches ImportErrors and explains to the user what package failed to import, then points them to a documentation page where optional dependencies are laid out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions