[Datastore] Fix boto3 and botocore import errors #9183
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 Description
This PR fixes the
import mlrunerrors introduced from1.11.0-rc14.A new
nuclio-jupyterversion removed theboto3(nuclio/nuclio-jupyter#194):And it revealed two bugs:
import mlrunboils down toimport boto3andimport botocorein other imported mlrun modules.This PR moved the boto3/botocore imports to the
mlrun.datastore.s3module, where they should be (and only there).It also adds unit tests, removed unneeded imports, and moves some code the the proper module.
✅ Checklist
🧪 Testing
I packaged mlrun locally with
Created a clean Python 3.11 venv, installed the mlrun wheel in it, and ran
python -c "import mlrun"🔗 References
🚨 Breaking Changes?
There is a small breaking change in the error returned from
S3Store.get. When the object does not exist, aFileNotFounderror will be raised.