code: def test_parse_pip_requirements(tmp_path):
      assert _parse_pip_requirements(None) == ([], [])
      assert _parse_pip_requirements([]) == ([], [])
      # Without version specifiers
      assert _parse_pip_requirements(["a", "b"]) == (["a", "b"], [])
      # With version specifiers
      assert _parse_pip_requirements(["a==0.0", "b>1.1"]) == (
          ["a==0.0", "b>1.1"],
          [],
      )
      # Environment marker (https://www.python.org/dev/peps/pep-0508/#environment-markers)
      assert _parse_pip_requirements(['a; python_version < "3.8"']) == (
          ['a; python_version < "3.8"'],
          [],
      )
      # GitHub URI
      mlflow_repo_uri = "git+https://github.com/mlflow/mlflow.git"
      assert _parse_pip_requirements([mlflow_repo_uri]) == (
          [mlflow_repo_uri],
          [],
      )
      # Local file
      fake_whl = tmp_path.joinpath("fake.whl")
      fake_whl.write_text("")
      assert _parse_pip_requirements([str(fake_whl)]) == (
          [str(fake_whl)],
          [],
      )
  
imports: import os
  import pytest
  import yaml
  from mlflow.exceptions import MlflowException
  from mlflow.utils.environment import _contains_mlflow_requirement, _deduplicate_requirements, _get_pip_deps, _get_pip_requirement_specifier, _is_mlflow_requirement, _is_pip_deps, _mlflow_conda_env, _overwrite_pip_deps, _parse_pip_requirements, _process_conda_env, _process_pip_requirements, _validate_env_arguments
  from tests.helper_functions import _mlflow_major_version_string
label_desc: Use image node_id 8 for calling a global function with example usage: test_parse_pip_requirements(tmp_path) without return types