-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suggest installing dask when not discovered by ChunkManager #7963
Conversation
raise TypeError( | ||
f"Could not find a Chunk Manager which recognises type {type(chunked_arr)}" | ||
f"Could not find a Chunk Manager which recognises type {type(chunked_arr)}. Try installing the {possible_missing_package_name} package." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
f"Could not find a Chunk Manager which recognises type {type(chunked_arr)}. Try installing the {possible_missing_package_name} package." | |
f"Could not find a Chunk Manager which recognises type {type(chunked_arr)}. Try searching for and installing a {possible_missing_package_name}_xarray package." |
? Since you could have cubed
installed but not cubed-xarray
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair point, but then would that be more confusing if the problem is that the user doesn't have Dask installed? Because then it would point them towards a non-existent dask_xarray
package...
This came up again in #8301. To be honest, given there are only 2 known chunkmanagers at the moment, maybe we should just special case the error message to tell the user exactly which package to install? |
Works for me! |
@@ -132,8 +132,9 @@ def get_chunked_array_type(*args) -> ChunkManagerEntrypoint: | |||
if chunkmanager.is_chunked_array(chunked_arr) | |||
] | |||
if not selected: | |||
possible_missing_package_name = type(chunked_arr).__module__.split(".")[0] | |||
raise TypeError( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
considering that the error is actually caused by a missing package, could we consider
- using a more general exception, such as
ModuleNotFoundError
, instead of the currentTypeError
? - or implementing a custom exception specifically for this purpose?
Closing in favour of #9676 |
whats-new.rst
New functions/methods are listed inapi.rst