code: def pip_install_packages(packages, python="python", logger=None):
      pipp = subprocess.Popen(
          [python, "-m", "pip", "install"] + [p for p in packages],
          stdout=subprocess.PIPE,
          stderr=subprocess.STDOUT,
      )
      pipout, _ = pipp.communicate()
      pipout = pipout.decode("utf-8")
      # return pip.main(['install'] + list(packages))
  
      if logger:
          logger.info("pip output: \n" + pipout)
      return pipp.returncode
  
imports: import os
  import sys
  import subprocess
  import argparse
  import json
  import psutil
  import time
  import six
  import signal
  import pdb
  from apscheduler.schedulers.background import BackgroundScheduler
  from studio import fs_tracker, model
  from studio.util import logs
  from studio.queues.local_queue import LocalQueue
  from studio.util.gpu_util import get_available_gpus, get_gpu_mapping, get_gpus_summary
  from studio.artifacts.artifact import Artifact
  from studio.experiments.experiment import Experiment
  from studio.util.util import sixdecode, str2duration, retry, parse_verbosity, check_for_kb_interrupt
label_desc: Use image node_id 6 for calling a global function with example usage: pip_install_packages(packages, python, logger) and returns: pipp