code: def __init__(
      self,
      resources_dir: str,
      gcs_aio_client: "GcsAioClient",  # noqa: F821
  ):
      self._resources_dir = os.path.join(
          resources_dir, "py_modules_files"
      )
      self._gcs_aio_client = gcs_aio_client
      try_to_create_directory(self._resources_dir)
  
file_path: ray/python/ray/_private/runtime_env/py_modules.py
imports: import logging
  import os
  from pathlib import Path
  from types import ModuleType
  from typing import Any, Dict, List, Optional
  from ray._private.runtime_env.context import RuntimeEnvContext
  from ray._private.runtime_env.packaging import Protocol, delete_package, download_and_unpack_package, get_local_dir_from_uri, get_uri_for_directory, get_uri_for_package, install_wheel_package, is_whl_uri, package_exists, parse_uri, upload_package_if_needed, upload_package_to_gcs
  from ray._private.runtime_env.plugin import RuntimeEnvPlugin
  from ray._private.runtime_env.working_dir import set_pythonpath_in_context
  from ray._private.utils import get_directory_size_bytes, try_to_create_directory
  from ray.exceptions import RuntimeEnvSetupError
label_desc: Use image node_id 1 to create a new PyModulesPlugin object from inherited base classes: RuntimeEnvPlugin with example: obj = PyModulesPlugin(resources_dir, gcs_aio_client)