Skip to content
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

Python version should be enforced in python MLprojects #99

Closed
aarondav opened this issue Jun 28, 2018 · 3 comments
Closed

Python version should be enforced in python MLprojects #99

aarondav opened this issue Jun 28, 2018 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@aarondav
Copy link
Contributor

When using the mlflow tracking API, I may use a conda environment to enforce reproducibility. One potentially non-obvious dependency is the Python version I use (in particular, 2 vs 3), especially pertinent since the default pickling version changed such that pickled objects in python3 are not readable by python2.

We should strive to help users remember to specify their python version, potentially by printing a warning if they provide a conda env that specifies no python version. The only problem with this particular proposal is if we later leverage the conda environment for other languages (e.g., R), although if we use reticulate, then we may anyway need Python.

As an example, not remembering to include the Python version in our tutorial example made it difficult for @tomasatdatabricks and I to collaborate, as he had miniconda3 installed and I had miniconda2 installed, which only showed up at model deploy time.

@aarondav
Copy link
Contributor Author

@mateiz any thoughts on this problem / proposal?

@mateiz
Copy link
Contributor

mateiz commented Jun 30, 2018

It's definitely a good idea, but how should we do it exactly? Just warn if the environment doesn't have one?

One thing we can certainly do is make sure to include it in the default environments we create for pyfunc, sklearn, etc models. I think @tomasatdatabricks has already been thinking about that.

@tomasatdatabricks
Copy link
Contributor

The default conda environments generated by mlflow models now include python version. In case of projects it's up to the project author as is the rest of the dependencies.

jdlesage pushed a commit to jdlesage/mlflow that referenced this issue Feb 5, 2020
temporarily fix pip version to avoid bug for larget tests
dbczumar pushed a commit to dbczumar/mlflow that referenced this issue Jun 1, 2022
* Updating the profiles to use jinja template

Signed-off-by: Sunish Sheth <sunishsheth2009@gmail.com>

* Addressig comments by commenting default config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants