Ne manquez pas nos offres limitées !

Comment exécuter un script Python sur Linux VPS

L’exécution de scripts Python sous Linux est une compétence fondamentale pour les développeurs et les administrateurs système. Grâce à sa polyvalence et à sa facilité d’utilisation, Python est privilégié pour l’automatisation des tâches, l’analyse de données complexes, la création d’applications et la gestion de systèmes.

L’intégration de Python dans les systèmes basés sur Linux est transparente, grâce à la disponibilité d’interprètes et de bibliothèques dans les dépôts Linux. Dans ce tutoriel, nous expliquerons comment exécuter un script Python dans la ligne de commande Linux de votre serveur distant.

Vous découvrirez également les erreurs courantes qui peuvent survenir lors de l’exécution de votre script Python sous Linux et comment les résoudre.

Prérequis

Avant de commencer, préparez les détails suivants de votre VPS :

  • Adresse IP du serveur
  • Port SSH
  • Nom d’utilisateur SSH
  • Mot de passe SSH

Si vous êtes un utilisateur de Hostinger, vous trouverez ces informations dans la rubrique suivante VPS → Gérer Informations du VPS.

Comment exécuter un script Python dans la ligne de commande de votre VPS Linux

Cette section vous guidera à travers les étapes de l’exécution des scripts Python, depuis leur exécution jusqu’à leur exécution dans l’interface de ligne de commande (CLI).

1. Transférer un script Python vers un VPS

Pour exécuter votre script, vous devrez l’importer depuis votre machine locale, et il y a plusieurs façons de le faire. Chaque méthode offre une approche différente pour transférer les données de votre machine vers votre VPS, avec des niveaux de complexité et de sécurité variables.

Voici quelques méthodes et protocoles de transfert de fichiers.

Protocole de copie sécurisée (SCP)

SCP s’appuie sur SSH pour assurer la sécurité du transfert de données, car il crypte à la fois le fichier et les informations d’authentification. Pour copier des fichiers, vous devez disposer d’une autorisation de lecture sur le fichier source et d’une autorisation d’écriture sur le système cible.

Tout d’abord, connectez-vous à votre VPS à l’aide de PuTTY. Vous devrez le télécharger sur votre système pour accéder à votre serveur.

Lorsque vous êtes prêt, lancez le client SSH PuTTY en tapant putty dans votre terminal Linux. Utilisez Ctrl + Alt + T ou Commande + Option + T si vous utilisez macOS pour ouvrir le Terminal.

Entrez l’IP SSH et le port SSH de votre serveur. Cliquez sur Ouvrir pour continuer.

Si PuTTY disparaît après avoir saisi vos coordonnées et que vous voyez une erreur “unable to load font” , relancez PuTTY et changez de police.

Cette erreur s’est affichée parce que la police n’a pas été spécifiée. Cliquez sur Modifier et sélectionnez la police.

Cliquez sur Ouvrir, et la fenêtre du serveur apparaît.

Saisissez votre nom d’utilisateur et votre mot de passe pour continuer. Notez qu’il n’y aura pas d’indication visuelle de ce que vous tapez dans votre terminal.

Maintenant que vous êtes connecté au serveur, entrez la commande suivante :

scp [chemin vers le fichier/dossier sur votre machine][nomutilisateur@adresseIP] :[chemin d'accès à l'emplacement souhaité sur le VPS]

Par exemple, si vous souhaitez transférer un fichier appelé scpfile.py situé dans le dossier Code sur votre machine locale vers le dossier files de votre VPS, vous devez utiliser la commande scp, qui devrait ressembler à ceci :

scp C:/Users/nom d'utilisateur/Desktop/Code/scpfile.py root@31.220.57.32:files

Notez que vous pouvez dupliquer le terminal pour effectuer cette action puisque l’autre instance sera occupée à activer le serveur. Si vous obtenez l’erreur « connection timed-out », modifiez la commande pour inclure le port.

scp -P [Numéro de port][chemin vers le fichier/dossier sur votre machine] [nomutilisateur@adresseIP]:[chemin vers l'emplacement souhaité sur le VPS]
scp -P 67003 C:/Users/nomutilisateur/Desktop/Code/scpfile.py root@31.220.57.32:files

Un message d’avertissement s’affiche.

Il suffit de taper yes et de saisir votre mot de passe.

Une barre de progression s’affichera et le fichier sera téléchargé sur votre VPS.

Pour télécharger plusieurs fichiers, supprimez scpfile.py et remplacez-le par un astérisque dans le chemin du dossier local.

scp -P 67003 C:/Users/nomutilisateur/Desktop/Code/* root@31.220.57.32:files

Pour télécharger un dossier entier, vous devez copier tous les fichiers en ajoutant -r à la ligne de commande dans l’exemple ci-dessous :

scp -r -P 67003 C:/Users/nomutilisateur/Desktop/Code/* root@31.220.57.32:files

N’oubliez pas que SCP ne fournit aucun avertissement ni aucune invite avant d’écraser un fichier existant portant le même nom. Par conséquent, vous pouvez facilement écraser des fichiers ou des répertoires par accident.

rsync

rsync (synchronisation à distance) est une méthode permettant de synchroniser des fichiers et des répertoires entre deux emplacements. La première fois que rsync est utilisé, il transfère l’intégralité du contenu d’un fichier ou d’un répertoire.

Il utilise un protocole de synchronisation à distance qui ne transfère que les modifications entre les fichiers, ce qui en fait une solution efficace pour les transferts de données volumineux. rsync reprend également là où il s’est arrêté lorsque la connexion est interrompue.

Pour copier plusieurs fichiers, rsync est excellent car il peut tout copier en utilisant une seule commande. Il peut créer automatiquement des sous-répertoires et utiliser la même session ssh pour chacun d’entre eux. C’est aussi une solution rapide et efficace pour les sauvegardes et les transferts de fichiers sécurisés entre systèmes locaux et distants.

Pour commencer à utiliser rsync, vérifiez si votre VPS l’a installé à l’aide de la commande suivante :

command -v rsync

Si rsync n’est pas installé, utilisez cette commande.

Pour Ubuntu, Linux Mint et Debian, utilisez ce qui suit :

sudo apt-get install rsync

Pour d’autres distributions telles que Fedora, CentOS, AlmaLinux et Red Hat, utilisez la commande :

sudo dnf install rsync

Une fois que cela est fait, démarrez et activez rsync :

sudo systemctl start rsync

sudo systemctl enable rsync

Cette commande déplacera vos fichiers d’une machine locale vers votre VPS :

rsync [options][chemin d'accès au fichier/dossier sur votre machine][nomutilisateur@adresseIP] :[chemin d'accès à l'emplacement souhaité sur le VPS]

rsync offre une variété d’options pour personnaliser et contrôler la synchronisation des fichiers. Voici quelques-unes des options les plus couramment utilisées :

  • -a ou –archive – préserve les permissions et les horodatages.
  • -v ou –verbose – affiche des informations détaillées sur les fichiers en cours de synchronisation.
  • -z ou –compress – permet la compression lors du transfert de données, réduisant ainsi l’utilisation du réseau.
  • -r ou –recursive – synchronise les répertoires de manière récursive.
  • -u ou –update – ignore les fichiers qui sont plus récents sur le récepteur.
  • -n ou –dry-run – exécute un essai sans apporter de modifications. Une commande utile pour les tests.
  • –delete – supprime les fichiers du répertoire de destination.
  • –exclude – empêche le transfert de fichiers ou de répertoires.
  • –progress – indique la progression du transfert.
  • –bwlimit – limite la bande passante à utiliser pour le transfert.
  • –partial – permet de poursuivre les transferts interrompus.
  • –ignore-existing – ignore les fichiers qui existent déjà dans la destination.
  • –include – inclut uniquement des fichiers ou des répertoires spécifiques.
  • –exclude-from – exclut les fichiers ou répertoires répertoriés dans un fichier spécifié.
  • –remove-source-files – supprime les fichiers transférés de la source après un transfert réussi.

Ces options peuvent être combinées pour répondre à vos besoins spécifiques.

Reportez-vous au manuel de rsync pour une documentation complète et des options supplémentaires :

man rsync ou rsync

Voici à quoi ressemblera une commande rsync lorsque les détails auront été ajoutés :

rsync -avz -e ssh C:/Users/username/Desktop/Code/rsyncfile.py/ root@31.220.57.32:files/

Notez que le / (barre oblique) à la fin des deux chemins d’accès aux répertoires indique à rsync de placer tous les fichiers et sous-répertoires dans ce répertoire spécifique. En les supprimant, rsync copiera le répertoire lui-même.

En outre, vous pouvez utiliser SCP et rsync pour transférer des fichiers d’un endroit à l’autre. Cependant, SCP est mieux utilisé pour les transferts ponctuels, surtout si la taille du fichier est relativement petite.

En revanche, rsync est mieux adapté lorsque la taille du fichier est importante ou lorsqu’une synchronisation plus complexe et plus efficace est nécessaire. C’est également le meilleur choix pour les tâches récurrentes.

SFTP (protocole de transfert de fichiers SSH)

SFTP est une alternative sécurisée à FTP pour le transfert de fichiers via SSH. Il fournit des fonctionnalités d’accès, de transfert et de gestion de fichiers par le biais d’un canal sécurisé. Voici comment cela fonctionne.

Tout d’abord, connectez-vous au serveur à l’aide de la commande suivante :

sftp user@remoteserverIPaddress

Pour télécharger un fichier vers votre serveur distant, utilisez put ou mput si vous transférez plusieurs fichiers :

put sftpfile.py

Note : Déplacez-vous dans le répertoire dans lequel vous voulez placer le fichier, sinon il sera stocké dans le répertoire racine. Vous pouvez utiliser l’option -r ou * pour télécharger un dossier, comme dans l’exemple SCP ci-dessus.

Protocole Secure Shell (SSH)

SSH est un protocole de réseau cryptographique qui permet une communication sûre entre deux systèmes en chiffrant les données transmises entre eux.

Tout d’abord, connectez-vous au serveur.

ssh nomutilisateur@adresseIP

Spécifiez le port si vous obtenez une erreur. Contrairement aux autres, ssh utilise un petit p.

ssh -p 6000 root@31.220.57.32

Maintenant, utilisez SCP pour transférer les fichiers vers votre VPS.

Si tout fonctionne correctement, vous devriez voir une barre de progression qui vous préviendra lorsque le processus sera terminé.

2. Vérifier que Python est installé sur votre VPS

Tout d’abord, assurez-vous que Python est installé sur votre VPS. La plupart des distributions Linux sont livrées avec Python préinstallé, mais vous devrez l’installer manuellement si vous ne possédez pas de système d’exploitation virtuel. Pour la vérification de l’installation de Python, exécutez la commande suivante :

python --version

OU

python3 --version

Si Python est installé sur votre VPS, un numéro de version sera affiché.

Parfois, Python peut être sauvegardé à un autre endroit. Pour visualiser ces emplacements, utilisez la commande which :

which python

OU

which python3

Si Python n’est pas installé, vous recevrez le message suivant :

bash: python3: command not found

Si vous avez utilisé la commande which, vous recevrez une erreur “no python in path” à la place.

Voici comment installer Python pour différentes distributions Linux.

Ubuntu/Debian

Tout d’abord, mettez à jour l’index du paquet en procédant comme suit :

sudo apt update

Ensuite, installez Python 3 et le paquetage Python pip :

sudo apt install python3 python3-pip

CentOS/RHEL

Pour CentOs/RHEL 8, utilisez ce qui suit :

sudo dnf install python3 python3-devel python3-pip

Pour CentOS/RHEL 7, utilisez ces commandes :

sudo yum install epel-release

sudo yum install python3 python3-devel python3-pip

Arch Linux

sudo pacman -Syu python python-pip python-setuptools

Fedora

sudo dnf install python3 python3-pip python3-devel

openSUSE

udo zypper update python3 python3-pip python3-devel

3. Rendre votre script exécutable

Avant d’exécuter le script Python, vous devez le rendre exécutable. La transformation de votre script en un exécutable le convertit en langage machine que votre VPS peut comprendre. Pour rendre votre fichier exécutable, ajoutez une ligne shebang.

shebang est une déclaration spéciale qui indique au VPS l’interpréteur à utiliser. Ajoutez un shebang Python au début de votre script :

#!/usr/bin/env python3

shebang informe le VPS que le fichier est un script Python, et qu’il doit donc invoquer l’interpréteur Python pour l’exécuter.

Pour ajouter un shebang, éditez le script à l’aide de nano, un éditeur de texte Linux. Tout d’abord, passez en mode édition :

nano ./executable.py

Ajoutez un shebang en haut du script et appuyez sur Ctrl + O pour enregistrer. Appuyez sur Ctrl + X pour quitter.

Ensuite, naviguez jusqu’au dossier contenant le fichier :

cd chemin/vers/fichier

Vous devez maintenant définir les autorisations pour l’exécutable à l’aide de la commande suivante :

chmod +x [Fichier Python]
chmod +x executable.py

La commande chmod sous Linux signifie change mode (modifier le mode) et permet de modifier les autorisations d’un fichier ou d’un répertoire. Chaque fichier ou répertoire sous Linux possède des autorisations qui déterminent qui peut le lire, l’écrire ou l’exécuter.

Ces autorisations sont représentées par une série de lettres ou de chiffres, appelée mode de fichier ou mode d’autorisation. La commande chmod ci-dessus ajoute les droits d’exécution à votre script.

4. Exécuter le script et l’afficher dans le terminal

Une fois que le script est prêt à être exécuté, vous pouvez le lancer à l’aide de l’interpréteur Python. Utilisez la commande suivante pour exécuter votre script :

./executable.py

Après avoir exécuté le script, vous pouvez visualiser la sortie directement dans le terminal.

5. Afficher les journaux

Vous pouvez également consulter les journaux du système pour y trouver les erreurs ou les messages générés par le script. Pour accéder aux fichiers journaux de Linux, placez-vous dans le répertoire des journaux du système Linux. Le répertoire par défaut est /var/log

cd /var/log

Une fois dans ce répertoire, tapez ls pour obtenir la liste des journaux stockés dans ce répertoire.

Les journaux Linux fournissent une chronologie des événements qui se produisent sur votre ordinateur. Ils sont utiles pour résoudre les problèmes, surveiller l’état du système, diagnostiquer les problèmes et enquêter sur les incidents de sécurité. Il existe différents types de journaux, mais voici quelques fichiers journaux et leurs définitions :

  • /var/log/syslog – messages du démon syslog et d’autres démons du système.
  • /var/log/auth.log ou /var/log/secure – messages relatifs à l’authentification. Il enregistre des informations sur les connexions des utilisateurs, les tentatives d’authentification et d’autres événements liés à la sécurité.
  • /var/log/kern.log – informations sur le fonctionnement du noyau, les pilotes de matériel et d’autres activités de bas niveau du système.
  • /var/log/dmesg – messages provenant du tampon circulaire du noyau. Il fournit des informations sur la détection du matériel, l’initialisation des périphériques et d’autres messages liés au noyau depuis le dernier démarrage.
  • /var/log/boot.log – informations sur le processus de démarrage. Il comprend les messages des scripts de démarrage du système et des services qui démarrent pendant l’amorçage.
  • /var/log/daemon.log – messages des démons du système ou des services d’arrière-plan. Cela inclut les messages provenant de services tels qu’Apache, MySQL et d’autres.
  • /var/log/cron – informations sur les tâches cron exécutées sur le système, y compris la date d’exécution et les éventuelles erreurs.
  • /var/log/maillog ou /var/log/mail.log – journaux du serveur de messagerie, y compris les messages relatifs à l’envoi et à la réception de courriers électroniques.
  • /var/log/lastlog – garde la trace des dernières heures de connexion de tous les utilisateurs dans le système.
  • /var/log/audit/audit.log – sur les systèmes où auditd est installé (un démon d’audit), ce fichier contient les journaux des événements liés à la sécurité, tels que l’accès aux fichiers, l’authentification des utilisateurs et d’autres événements de sécurité au niveau du système.

Gardez à l’esprit que l’emplacement exact et les conventions de dénomination de ces journaux peuvent varier d’une distribution Linux à l’autre.

Pour visualiser ou examiner le contenu d’un fichier journal, utilisez less ou cat :

less nameoflog

Par exemple, voici la commande que vous utiliserez pour afficher le syslog :

less syslog 

Le défilement d’un fichier peut prendre un certain temps car les fichiers sont très longs. Vous pouvez utiliser Shift + G pour avancer rapidement jusqu’à (END).

Pour quitter le fichier, il suffit de taper q.

La commande tail est une autre commande qui vous permet de visualiser les fichiers journaux. Cependant, il n’affiche que la dernière partie du fichier, là où se situent généralement les problèmes :

tail /var/log/syslog ou

tail -f /var/log/syslog

Grâce à l’option -f de la commande ci-dessus, tail surveille en permanence le fichier journal, affichant en temps réel les lignes nouvellement écrites :

Pour un nombre spécifique de lignes, par exemple les cinq dernières, utilisez ce qui suit :

tail -f -n 5 /var/log/syslog

Au fur et à mesure que de nouvelles lignes apparaissent, les anciennes sont remplacées. Pour quitter la commande de queue, appuyez sur Ctrl + C.

Exécuter un code Python de manière interactive

Python propose un mode interactif dans lequel vous pouvez exécuter des blocs de code ou des lignes de code individuelles et recevoir un retour d’information immédiat.

1. Lancer le mode interactif de Python

Pour lancer le mode interactif de Python sur votre VPS, tapez Python ou Python3 dans le terminal pour lancer l’interpréteur Python.

2. Exécuter des commandes Python de manière interactive

Une fois en mode interactif, vous pouvez entrer des commandes Python directement et voir leur résultat immédiatement. Ce mode est utile pour tester des extraits de code ou expérimenter des fonctionnalités de Python.

Nous allons imprimer Hello World sur la console.

Ici, nous avons imprimé Hello World et effectué une opération arithmétique. Dans l’exemple ci-dessus, nous avons fait une erreur et Python a lancé un message d’erreur.

En mode interactif, le droit à l’erreur est limité. En cas d’erreur, il faudrait répéter l’ensemble du code. C’est pourquoi le mode interactif est principalement utilisé pour tester des extraits de code et non pour créer de gros morceaux de code.

3. Quitter le mode interactif

Pour quitter le mode interactif de Python, tapez exit() ou appuyez sur Ctrl + D sur votre clavier.

Dépannage des erreurs d’exécution courantes

Il est fréquent de rencontrer des erreurs lors de l’exécution de scripts Python. Voici quelques erreurs à éviter.

Erreur « Permission refusée »

Message d’erreur : PermissionError: [Errno 13] Permission denied

Cause : le script n’a pas les droits d’exécution.

Dépannage : utilisez chmod +x [fichier Python] pour accorder les droits d’exécution à votre script.

Erreur Aucun « fichier ou répertoire de ce type »

Message d’erreur : no such file or directory: ‘script.py’

Cause : le chemin d’accès au fichier de script est incorrect.

Dépannage : assurez-vous que vous êtes dans le bon répertoire ou fournissez le chemin d’accès complet au script :

python3 /path/to/pythonscript.py

Compatibilité des versions de Python

Cause : plusieurs versions de Python sont installées sur votre système Linux, et votre script nécessite une version spécifique pour s’exécuter correctement.

Dépannage : spécifiez explicitement la version de Python souhaitée lors de l’exécution du script, en fonction de vos besoins :

python3 script.py ou python2 script.py

Erreur « Interpréteur introuvable »

Message d’erreur : bash: python3: command not found

Cause : l’interpréteur Python n’est pas installé ou ne se trouve pas dans le chemin d’accès du système.

Dépannage : Installez Python à l’aide du gestionnaire de paquets. Ajoutez ensuite Python au chemin d’accès ou indiquez le chemin d’accès complet à l’interpréteur.

Conclusion

Linux est un outil puissant qui fait de l’utilisation de Python un jeu d’enfant. Ceci est bénéfique car Python est un langage de programmation de haut niveau utilisé pour créer des applications et des systèmes puissants.

Dans ce tutoriel, nous avons vu comment exécuter un script Python en ligne de commande, comment exécuter un script Python de manière interactive et comment afficher les fichiers journaux. Nous avons également abordé certaines erreurs d’exécution courantes et les moyens de les résoudre.

Ces étapes vous aideront à exécuter facilement du code Python pour de nombreuses tâches, de l’automatisation à la gestion de systèmes. Nous espérons que cet article vous a été utile !

Comment exécuter un script Python sur Linux – FAQ

Comment exécuter un fichier exécutable Python sous Linux ?

Pour exécuter un fichier exécutable Python sous Linux, il suffit de naviguer jusqu’au répertoire du fichier exécutable et de l’exécuter en utilisant le préfixe ./ suivi du nom du fichier. Après avoir exécuté le script, vous verrez le résultat dans le terminal, ou s’il s’agit d’une application, une fenêtre s’ouvrira.

Quelle est la différence entre l’exécution interactive et l’exécution à partir de la ligne de commande des scripts Python ?

L’exécution interactive des scripts Python vous permet d’exécuter les commandes Python ligne par ligne en temps réel, tandis que l’exécution à partir de la ligne de commande vous permet d’exécuter l’intégralité du script en une seule fois. La ligne de commande est généralement utilisée pour exécuter des blocs de code volumineux qu’il ne serait pas judicieux d’exécuter en mode interactif.

Comment puis-je exécuter un script Python à des heures programmées sous Linux ?

Créez un script avec une ligne shebang, #!/usr/bin/env python3. Rendez-le exécutable en tapant chmod +x [script Python]. Ajoutez une tâche cron crontab -e. Spécifiez le calendrier [calendrier] /chemin/vers/python3 /chemin/vers/script.py et enregistrez. Vérifiez avec crontab -1.

Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.

Author
L'auteur

Chaimaa Chakir

Chaimaa est une spécialiste du référencement et du marketing de contenu chez Hostinger. Elle est passionnée par le marketing digital et la technologie. Elle espère aider les gens à résoudre leurs problèmes et à réussir en ligne. Chaimaa est une cinéphile qui adore les chats et l'analyse des films.

Ce que disent nos clients

Laissez une réponse

Veuillez remplir les champs obligatoires.Veuillez cocher la case de la confidentialité.Veuillez remplir les champs obligatoires et accepter la case de confidentialité.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.