GOOGLE ADS

lunes, 18 de abril de 2022

¿Cómo importar un archivo python con una dependencia de ruta relativa usando el script de shell bash de Jenkins?

Tengo una secuencia de comandos de Python para interactuar con el administrador de secretos de AWS (aws_secrets) que estoy llamando en el archivo program_to_run.py.

Dentro de program_to_run.py tengo from aws_secrets import aws_read_secrets

En pycharm encuentra esto con éxito, a continuación se muestra la estructura del archivo.

+-- aws_secrets
| +-- aws_secrets2.py
+-- folder
| +-- program_to_run.py

Estoy tratando de ejecutar program_to_run.py en Jenkins usando un script de shell.

python3 raíz/carpeta/programa_a_ejecutar.py

Pero cuando lo ejecuto me sale esto

ImportError: no se puede importar el nombre 'aws_secrets2' desde 'aws_secrets' (/home/jenkins-agent/miniconda3/lib/python3.7/site-packages/aws_secrets/ init.py)

Entonces mi pregunta es, ¿cómo llamo correctamente a aws_secrets2.py desde program_to_run.py usando un script de shell?


Solución del problema

I've noticed that Jenkins seems to have trouble referencing packages if they were installed on the machine from outside (as opposed to within Jenkins). So try adding these two lines to the pipeline before calling python3 root/folder/program_to_run.py

pip uninstall aws-secrets
pip install aws-secrets

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...