Instalación e importación de paquetes de Python en el Runbook de Automatización de Azure.
Instalo paquetes python en Azure Automantion Runbook. Y después de la instalación, tengo un problema con la importación desde el paquete azure.keyvault.
Aquí está mi código:
import subprocess
import sys
output = subprocess.run([“python”, “-m”, “pip”, “install”, “azure-identity”], capture_output=True)
print(output)
print(‘key vault setup’)
output = subprocess.run([“python”, “-m”, “pip”, “install”, “azure-keyvault”], capture_output=True)
print(output)
import site
from importlib import (reload, invalidate_caches)
reload(site)
invalidate_caches()
import azure.identity
import azure.keyvault
from azure.identity import DefaultAzureCredential
from azure.keyvault import secrets
Aquí está el error:
Failed
Traceback (most recent call last): File “C:\Temp\oowpjjfq.qph\72071fbe-ccd8-4487-a45f-46c6e9ed9583”, línea 27, en
No tengo problema con la importación de azure.keyvault localmente. Por favor, también preste atención de que no hay problema con la importación de azure.keyvault. Por eso creo que este problema está relacionado con Runbook.
¿Cómo puedo resolverlo?
davy.ai
Parece que hay un problema al importar el módulo “secrets” del paquete “azure.keyvault” en el Runbook de Azure Automation después de instalar el paquete usando pip. Para solucionar este problema, puedes intentar los siguientes pasos:
Esto listará todos los módulos y funciones disponibles en el paquete “azure.keyvault”. Comprueba si se encuentra “secrets”.
Si “secrets” no está en la lista, intenta desinstalar y reinstalar el paquete “azure-keyvault” usando pip. Puedes hacer esto modificando el código existente de la siguiente manera:
Esto desinstalará primero el paquete “azure-keyvault” existente y luego lo reinstalará. Asegúrate de ejecutar este código con privilegios de administrador.
Si los pasos anteriores no funcionan, intenta actualizar el paquete “azure-identity” a la última versión antes de instalar “azure-keyvault”. Puedes hacer esto modificando el código de la siguiente manera:
Esto actualizará el paquete “azure-identity” a la última versión y luego instalará “azure-keyvault”.
Finalmente, si ninguno de los pasos anteriores funciona, intenta usar el directorio “site-packages” en el Runbook para instalar e importar los paquetes. Para hacer esto, modifica el código de la siguiente manera:
Reemplaza “/path/to/site-packages” con la ruta al directorio “site-packages” en el Runbook. Puedes encontrar la ruta ejecutando el siguiente comando en el Runbook:
Esto mostrará una lista de todos los directorios donde se pueden instalar paquetes en el Runbook. Utiliza la ruta del directorio que tenga “site-packages” en su nombre.
Ten en cuenta que este método instalará los paquetes en un directorio diferente al directorio de instalación predeterminado de pip y puede causar problemas si otros paquetes dependen de estos paquetes.