Compartir a través de


Reinstalar dependencias de cuaderno

Puede instalar dependencias de Python para cuadernos sin servidor utilizando el panel lateral Entorno. Este panel proporciona un único lugar para editar, ver y exportar los requisitos de biblioteca de un cuaderno. Estas dependencias se pueden agregar mediante un entorno base o individualmente.

Panel de entorno sin servidor con directivas de presupuesto

Para las tareas que no son de cuaderno, consulte Configuración de entornos y dependencias para tareas que no son de cuaderno.

Importante

No instale PySpark ni ninguna biblioteca que instale PySpark como dependencia en los cuadernos sin servidor. Si lo hace, se detendrá la sesión y se producirá un error. Si esto ocurre, quite la biblioteca y restablezca el entorno.

Configuración de un entorno base

Un entorno base es un archivo YAML almacenado como un archivo de área de trabajo o en un volumen de catálogo de Unity que especifica dependencias de entorno adicionales. Los entornos base se pueden compartir entre cuadernos. Para configurar un entorno base:

  1. Cree un archivo YAML que defina la configuración de un entorno virtual de Python. En el ejemplo siguiente, YAML, que se basa en la especificación del entorno de proyectos de MLflow, se define un entorno base con algunas dependencias de biblioteca:

    client: "1"
    dependencies:
      - --index-url https://pypi.org/simple
      - -r "/Workspace/Shared/requirements.txt"
      - my-library==6.1
      - "/Workspace/Shared/Path/To/simplejson-3.19.3-py3-none-any.whl"
      - git+https://github.com/databricks/databricks-cli
    
  2. Cargue el archivo YAML como un archivo de área de trabajo o en un volumen de catálogo de Unity. Consulte Importación de un archivo o Carga de archivos en un volumen del Catálogo de Unity.

  3. A la derecha del cuaderno, haga clic en el botón entorno para expandir el panel lateral Entorno. Este botón solo aparece cuando un cuaderno está conectado al proceso sin servidor.

  4. En el campo Entorno base, escriba la ruta de acceso del archivo YAML cargado o navegue hasta él y selecciónelo.

  5. Haga clic en Aplicar. Esto instala las dependencias en el entorno virtual del cuaderno y reinicia el proceso de Python.

Los usuarios pueden invalidar las dependencias especificadas en el entorno base instalando las dependencias individualmente.

Configuración del entorno del cuaderno

También puede instalar dependencias en un cuaderno conectado a cómputo sin servidor mediante el panel lateral del entorno.

  1. A la derecha del cuaderno, haga clic en el botón de entorno para expandir el panel lateral de entorno . Este botón solo aparece cuando un cuaderno está conectado al proceso sin servidor.
  2. Seleccione la versión del entorno en la lista desplegable Versión del entorno. Consulte Versiones del entorno sin servidor. Databricks recomienda elegir la versión más reciente para obtener las características más actualizadas del cuaderno.
  3. En la sección Dependencias, haga clic en Agregar dependencia y escriba la ruta de acceso de la dependencia de biblioteca en el campo. Puede especificar una dependencia en cualquier formato que sea válido en un archivo requirements.txt.
  4. Haga clic en Aplicar. Esto instala las dependencias en el entorno virtual del cuaderno y reinicia el proceso de Python.

Nota:

Un trabajo con proceso sin servidor instalará la especificación del entorno del cuaderno antes de ejecutar el código del cuaderno. Esto significa que no es necesario agregar dependencias al programar cuadernos como trabajos. Consulte Configuración de entornos y dependencias.

Visualización de dependencias instaladas y registros de pip

Para ver las dependencias instaladas, haga clic en Instalado en el panel de Entornos para un cuaderno. Los registros de instalación de pip para el entorno del cuaderno también están disponibles haciendo clic en registros pip en la parte inferior del panel.

Restablecimiento del entorno

Si el cuaderno está conectado al proceso sin servidor, Databricks almacena automáticamente en caché el contenido del entorno virtual del cuaderno. Esto significa que, por lo general, no es necesario volver a instalar las dependencias de Python especificadas en el Entorno panel lateral cuando se abre un cuaderno existente, incluso si se ha desconectado debido a la inactividad.

El almacenamiento en caché del entorno virtual de Python también se aplica a los trabajos. Cuando se ejecuta un trabajo, cualquier tarea del trabajo que comparte el mismo conjunto de dependencias que una tarea completada en esa ejecución es más rápida, ya que las dependencias necesarias ya están disponibles.

Nota:

Si cambia la implementación de un paquete de Python personalizado usado en un trabajo sin servidor, también debe actualizar su número de versión para que los trabajos puedan seleccionar la implementación más reciente.

Para borrar la memoria caché del entorno y realizar una instalación nueva de las dependencias especificadas en el panel lateral Entorno de un cuaderno conectado al proceso sin servidor, haga clic en la flecha situada junto a Aplicar y, a continuación, haga clic en Restablecer entorno.

Nota:

Restablezca el entorno virtual si instala paquetes que interrumpen o cambian el cuaderno principal o el entorno de Apache Spark. Desasociar el cuaderno del proceso sin servidor y volver a asociarlo no necesariamente borra toda la memoria caché del entorno. Al restablecer el entorno, se vuelven a instalar todas las dependencias especificadas en el panel lateral de Entorno, por lo que debe asegurarse de que los paquetes infractores se quiten antes de restablecerlos.

Configuración de entornos y dependencias para tareas que no son de cuaderno

Para otros tipos de tareas admitidos, como script de Python, rueda de Python o tareas dbt, un entorno predeterminado incluye bibliotecas de Python instaladas. Para ver la lista de bibliotecas instaladas, consulte la sección Bibliotecas de Python instaladas de la versión de cliente que usa. Consulte las versiones del entorno sin servidor . Si una tarea requiere una biblioteca de Python que no está instalada, puede instalar la biblioteca desde archivos del área de trabajo, volúmenes de Unity Catalog o repositorios de paquetes públicos. Para agregar una biblioteca al crear o editar una tarea:

  1. En el menú Desplegable entorno y bibliotecas, haga clic en Icono de edición junto al entorno Predeterminado o haga clic en + Agregar nuevo entorno.

    Edición del entorno predeterminado

  2. Seleccione la versión del entorno en la lista desplegable Versión del entorno. Consulte Versiones del entorno sin servidor. Databricks recomienda seleccionar la versión más reciente para obtener las características más actualizadas.

  3. En el cuadro de diálogo Configurar entorno, haga clic en + Agregar biblioteca.

  4. Seleccione el tipo de dependencia en el menú desplegable en Bibliotecas.

  5. En el cuadro de texto Ruta de acceso de archivo, escriba la ruta de acceso a la biblioteca.

  • Para una rueda de Python en un archivo de área de trabajo, la ruta de acceso debe ser absoluta e iniciar con /Workspace/.

  • Para un Python Wheel en un volumen Unity Catalog, la ruta debe ser /Volumes/<catalog>/<schema>/<volume>/<path>.whl.

  • Para un archivo requirements.txt, seleccione PyPi y escriba -r /path/to/requirements.txt.

    Agregar bibliotecas de tareas

  1. Haga clic en Confirmar o + Agregar biblioteca para agregar otra biblioteca.
  2. Si va a agregar una tarea, haga clic en Crear tarea. Si va a editar una tarea, haga clic en Guardar tarea.

Configuración de repositorios de paquetes de Python predeterminados

Los administradores pueden configurar repositorios de paquetes privados o autenticados dentro de áreas de trabajo como la configuración de pip predeterminada para cuadernos sin servidor y trabajos sin servidor. Esto permite a los usuarios instalar paquetes desde repositorios internos de Python sin definir explícitamente index-url ni extra-index-url. Sin embargo, si estos valores se especifican en el código o en un cuaderno, tienen prioridad sobre los valores predeterminados del área de trabajo.

Esta configuración aprovecha secretos de Databricks para almacenar y administrar de forma segura las direcciones URL y las credenciales del repositorio. Los administradores pueden configurar la instalación mediante la página de configuración del administrador del área de trabajo o utilizando un ámbito secreto predefinido y los comandos secretos de la CLI de Databricks o la API REST .

Configuración mediante la página de configuración del administrador del área de trabajo

Los administradores del área de trabajo pueden agregar o quitar los repositorios de paquetes de Python predeterminados mediante la página de configuración del administrador del área de trabajo.

  1. Como administrador del área de trabajo, inicie sesión en el área de trabajo de Databricks.
  2. Haga clic en el nombre de usuario en la barra superior del área de trabajo de Databricks y seleccione Configuración.
  3. Haga clic en la pestaña Proceso.
  4. Junto a los Repositorios de conjuntos predeterminados, haga clic en Administrar.
  5. (Opcional) Agregue o quite una dirección URL de índice, direcciones URL de índice adicionales o un certificado SSL personalizado.
  6. Haga clic en Guardar para guardar los cambios.

Nota:

Las modificaciones o eliminaciones de secretos se aplican después de volver a adjuntar el proceso sin servidor a cuadernos o volver a ejecutar los trabajos sin servidor.

Configuración mediante la CLI de secretos o la API de REST

Para configurar repositorios de paquetes de Python predeterminados mediante la CLI o la API REST, cree un ámbito secreto predefinido y configure los permisos de acceso y agregue los secretos del repositorio de paquetes.

Nombre de ámbito de secreto predefinido

Los administradores del área de trabajo pueden establecer direcciones URL de índice pip predeterminadas o direcciones URL de índice adicionales junto con tokens de autenticación y secretos en un ámbito secreto designado en claves predefinidas:

  • Nombre del ámbito del secreto: databricks-package-management
  • Clave secreta para index-url: pip-index-url
  • Clave secreta para direcciones URL adicionales de índice: pip-extra-index-urls
  • Clave secreta para el contenido de la certificación SSL: pip-cert

Creación del ámbito del secreto

Se puede crear un ámbito secreto mediante los comandos de secretos de la CLI de Databricks o la API REST de . Después de crear el ámbito de secreto, configure listas de control de acceso para conceder a todos los usuarios del área de trabajo acceso de lectura. Esto garantiza que el repositorio permanece seguro y no se puede modificar por parte de usuarios individuales. El ámbito secreto debe usar el nombre de ámbito de secreto predefinido databricks-package-management.

databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ

Adición de secretos del repositorio de paquetes de Python

Agregue los detalles del repositorio de paquetes de Python mediante los nombres de clave secreta predefinidos, con los tres campos que son opcionales.

# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'

# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'

# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'

Modifica o elimina secretos privados del repositorio PyPI

Para modificar los secretos del repositorio pyPI, use el comando put-secret. Para eliminar secretos del repositorio pyPI, use delete-secret como se muestra a continuación:

# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url

databricks secrets delete-secret databricks-package-management pip-extra-index-urls

databricks secrets delete-secret databricks-package-management pip-cert

# delete scope
databricks secrets delete-scope databricks-package-management