Skip to content

Convert examples to using virtualenv instead of conda#6504

Merged
harupy merged 10 commits intomlflow:branch-2.0from
harupy:use-virtualenv-examples
Aug 22, 2022
Merged

Convert examples to using virtualenv instead of conda#6504
harupy merged 10 commits intomlflow:branch-2.0from
harupy:use-virtualenv-examples

Conversation

@harupy
Copy link
Copy Markdown
Member

@harupy harupy commented Aug 18, 2022

Signed-off-by: harupy [email protected]

Related Issues/PRs

#xxx

What changes are proposed in this pull request?

Convert the existing examples to using virtualenv instead of conda using the python script below:

from pathlib import Path
from mlflow.utils.environment import _PythonEnv
import subprocess
import re

code = """
git ls-tree --name-only -r HEAD | grep '^examples'
"""

out = subprocess.check_output(code, text=True, shell=True)
files = out.splitlines()
yaml_files = [f for f in files if re.search("/conda\.ya?ml$", f)]


for f in map(Path, yaml_files):
    # Ignore rapids examples which require conda
    if "rapids" in str(f):
        continue
    _PythonEnv.from_conda_yaml(f).to_yaml(f.parent.joinpath("python_env.yaml"))


project_files = [f for f in files if f.endswith("MLproject")]


for f in map(Path, project_files):
    # Ignore rapids examples which require conda
    if "rapids" in str(f):
        continue
    f.write_text(f.read_text().replace("conda_env: conda.yaml", "python_env: python_env.yaml"))

How is this patch tested?

  • I have written tests (not required for typo or doc fix) and confirmed the proposed feature/bug-fix/change works.

Does this PR change the documentation?

  • No. You can skip the rest of this section.
  • Yes. Make sure the changed pages / sections render correctly by following the steps below.
  1. Click the Details link on the Preview docs check.
  2. Find the changed pages / sections and make sure they render correctly.

Release Notes

Is this a user-facing change?

  • No. You can skip the rest of this section.
  • Yes. Give a description of this change to be included in the release notes for MLflow users.

(Details in 1-2 sentences. You can just refer to another PR with a description if this PR is part of a larger change.)

What component(s), interfaces, languages, and integrations does this PR affect?

Components

  • area/artifacts: Artifact stores and artifact logging
  • area/build: Build and test infrastructure for MLflow
  • area/docs: MLflow documentation pages
  • area/examples: Example code
  • area/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registry
  • area/models: MLmodel format, model serialization/deserialization, flavors
  • area/pipelines: Pipelines, Pipeline APIs, Pipeline configs, Pipeline Templates
  • area/projects: MLproject format, project running backends
  • area/scoring: MLflow Model server, model deployment tools, Spark UDFs
  • area/server-infra: MLflow Tracking server backend
  • area/tracking: Tracking Service, tracking client APIs, autologging

Interface

  • area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev server
  • area/docker: Docker use across MLflow's components, such as MLflow Projects and MLflow Models
  • area/sqlalchemy: Use of SQLAlchemy in the Tracking Service or Model Registry
  • area/windows: Windows support

Language

  • language/r: R APIs and clients
  • language/java: Java APIs and clients
  • language/new: Proposals for new client languages

Integrations

  • integrations/azure: Azure and Azure ML integrations
  • integrations/sagemaker: SageMaker integrations
  • integrations/databricks: Databricks integrations

How should the PR be classified in the release notes? Choose one:

  • rn/breaking-change - The PR will be mentioned in the "Breaking Changes" section
  • rn/none - No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" section
  • rn/feature - A new user-facing feature worth mentioning in the release notes
  • rn/bug-fix - A user-facing bug fix worth mentioning in the release notes
  • rn/documentation - A user-facing documentation change worth mentioning in the release notes

@github-actions github-actions bot added area/examples Example code rn/none List under Small Changes in Changelogs. labels Aug 18, 2022
Copy link
Copy Markdown
Collaborator

@dbczumar dbczumar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@harupy Awesome! Can we remove the conda.yaml files as well?

@harupy
Copy link
Copy Markdown
Member Author

harupy commented Aug 22, 2022

@harupy Awesome! Can we remove the conda.yaml files as well?

Sure!

Signed-off-by: harupy <[email protected]>
@harupy harupy requested a review from dbczumar August 22, 2022 07:45
@harupy harupy merged commit 33d7054 into mlflow:branch-2.0 Aug 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/examples Example code rn/none List under Small Changes in Changelogs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants