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