3 votes

Exécuter un script python sur Azure Batch

J'essaie d'exécuter un script python sur azure batch qui est un dsvm linux afin que le script puisse installer des paquets python et ensuite exécuter le script python.

Voici le code que j'ai utilisé :

try:
   from pip import main as pipmain
except ImportError:
   from pip._internal import main as pipmain

try:
    import pandas as pd
except:

   pipmain(['install', 'pandas',"])

import pandas

Lorsque j'exécute le script python script sur la ligne de commande azur Batch, la tâche pool se plante à la dernière instruction (import pandas) bien que je puisse voir dans le fichier journal stdout que les paquets pandas, numpy etc. sont installés.

Il semble que les paquets soient installés à un autre endroit et qu'en essayant d'importer, il essaie d'importer à partir d'un autre endroit. Il donne l'erreur ImportError : Aucun module nommé pandas dans le fichier stderr.txt sur les tâches du pool de lots azur.

La raison pour laquelle j'essaie d'installer des paquets python et d'importer le même script est que la ligne de commande batch azur ne me permet pas d'écrire 2 commandes , quelque chose comme

pip install pandas
python test.py

où il installe d'abord les paquets et ensuite invoque script où il fait juste l'importation de la bibliothèque pandas.

J'ai également utilisé la commande dans le pip install pandas y pip install --install-option="--prefix=$AZ_BATCH_TASK_WORKING_DIR" pandas à la tâche de démarrage du pool de lots. AZ_BATCH_TASK_WORKING_DIR selon ma compréhension est le répertoire de travail auquel la tâche et le script ont accès lorsque le lot de tâches s'exécute.

Existe-t-il un moyen d'exécuter le python script avec succès sur Azure Batch. Pour l'instant, je n'exécute qu'une seule commande : import pandas.

0voto

Paulo Points 19

Bien que la réponse de fpark m'ait mis sur la bonne voie, je n'ai pas réussi. Cependant, je me heurte à ceci poste ce qui a fonctionné pour moi.

La commande de démarrage de la tâche serait (pour python3) :

/bin/bash -c "sudo apt-get -y update && sudo dpkg --configure -a && sudo apt-get install -y python3-pip && pip3 install --upgrade pip && sudo pip3 install pandas"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X