code: def test_update_conda_env_only_updates_pip_deps(tmp_path):
      expected_mlflow_version = _mlflow_major_version_string()
      model_name = f"wheels-test-{random_int()}"
      model_uri = f"models:/{model_name}/1"
      conda_env_path = os.path.join(tmp_path, "conda.yaml")
      pip_deps = [
          expected_mlflow_version,
          "cloudpickle==2.1.0",
          "psutil==5.8.0",
      ]
      new_pip_deps = [
          "wheels/mlflow",
          "wheels/cloudpickle",
          "wheels/psutil",
      ]
  
      wm = WheeledModel(model_uri)
      additional_conda_deps = ["add_conda_deps"]
      additional_conda_channels = ["add_conda_channels"]
  
      _mlflow_conda_env(
          conda_env_path,
          additional_conda_deps,
          pip_deps,
          additional_conda_channels,
          install_mlflow=False,
      )
      with open(conda_env_path) as f:
          old_conda_yaml = yaml.safe_load(f)
      wm._update_conda_env(new_pip_deps, conda_env_path)
      with open(conda_env_path) as f:
          new_conda_yaml = yaml.safe_load(f)
      assert old_conda_yaml.get("name") == new_conda_yaml.get("name")
      assert old_conda_yaml.get("channels") == new_conda_yaml.get(
          "channels"
      )
      for old_item, new_item in zip(
          old_conda_yaml.get("dependencies"),
          new_conda_yaml.get("dependencies"),
      ):
          if isinstance(old_item, str):
              assert old_item == new_item
          if isinstance(old_item, dict):
              assert old_item.get("pip") == pip_deps
          if isinstance(new_item, dict):
              assert new_item.get("pip") == new_pip_deps
  
imports: import json
  import os
  import random
  import re
  from collections import namedtuple
  import numpy
  import pandas
  import pytest
  import sklearn.neighbors
  import yaml
  from sklearn import datasets
  import mlflow
  import mlflow.pyfunc.scoring_server
  from mlflow.exceptions import MlflowException
  from mlflow.models.wheeled_model import _WHEELS_FOLDER_NAME, WheeledModel
  from mlflow.pyfunc.model import MLMODEL_FILE_NAME, Model
  from mlflow.store.artifact.utils.models import _improper_model_uri_msg
  from mlflow.tracking.artifact_utils import _download_artifact_from_uri
  from mlflow.utils.environment import _CONDA_ENV_FILE_NAME, _REQUIREMENTS_FILE_NAME, _is_pip_deps, _mlflow_conda_env
  from tests.helper_functions import _is_available_on_pypi, _mlflow_major_version_string, pyfunc_serve_and_score_model
label_desc: Use image node_id 14 for calling a global function with example usage: test_update_conda_env_only_updates_pip_deps(tmp_path) without return types