web-dev-qa-db-fra.com

Comment exécuter mon script python sur le menu fixe?

enter image description hereenter image description here J'essaie d'exécuter mon script python sur le menu fixe. J'ai essayé différentes façons de le faire mais je ne suis pas en mesure de l'exécuter sur le menu fixe. Mon python le script est donné ci-dessous:

import os

print ('hello') 

J'ai déjà installé docker sur mon mac. Mais je veux savoir comment je peux faire des images et ensuite le pousser vers le menu fixe après cela, je veux tirer et exécuter mon script sur le menu fixe lui-même.

11
Pulkit

Très bien, commencez par créer un répertoire de projet spécifique pour votre image de menu fixe. Par exemple:

mkdir /home/pi/Desktop/teasr/capturing

Copiez votre fichier docker et votre script ici et changez le contexte actuel dans ce répertoire.

cp /home/pi/Desktop/teasr/capturing.py /home/pi/Desktop/teasr/dockerfile /home/pi/Desktop/teasr/capturing/

cd /home/pi/Desktop/teasr/capturing

C’est une bonne pratique, car la première chose que fait le moteur Docker lors de la construction est la lecture de tout le contexte actuel.

Nous examinerons ensuite votre fichier de docker. Cela devrait ressembler à quelque chose comme ça maintenant:

FROM python:latest

WORKDIR /usr/local/bin

COPY capturing.py .

CMD ["capturing.py", "-OPTIONAL_FLAG"]

La prochaine chose à faire est de le créer avec un nom intelligent. L'utilisation de points est généralement découragée.

docker build -t pulkit/capturing:1.0 .

La prochaine étape consiste simplement à exécuter l'image comme vous l'avez fait.

docker run -ti --name capturing pulkit/capturing:1.0

Le script est maintenant exécuté inside le conteneur et sera probablement fermé à la fin.

Éditez après avoir trouvé le problème qui a créé l'erreur suivante:

"standard_init_linux.go:195: exec user process caused "exec format error"

Il existe une architecture différente sous Raspberry Pi (ARM au lieu de x86_64), ce qui aurait pu être le problème, mais ne l’a pas été. Si cela avait été le problème, un basculement de l'image parente vers FROM armhf/python aurait suffi.

Source

MAIS! L'erreur continuait à se produire.

Donc, la solution à ce problème est un simple Sha-Bang manquant en haut du script python. La première ligne du script doit être #!/usr/bin/env python et cela devrait résoudre le problème.

Source

15
samprog

Vous devez créer un fichier docker dans le répertoire dans lequel se trouve votre script.

Vous pouvez prendre ce modèle:

FROM python:latest

COPY scriptname.py /usr/local/share/

CMD ["scriptname.py", "-flag"]

Ensuite, exécutez simplement docker build -t pulkit/scriptname:1.0 . et votre image devrait être créée.

Votre image doit être visible sous docker images. Si vous voulez l'exécuter sur votre ordinateur local, utilisez docker run.

Si vous souhaitez le télécharger sur le DockerHub, vous devez vous connecter au DockerHub avec docker login, puis téléchargez l'image avec docker Push.

3
samprog