GNU/Linux >> Tutoriels Linux >  >> Linux

La ligne shebang Ubuntu Python ne fonctionne pas

Si vous essayez d'exécuter la commande en tant que

$ test.py

l'erreur n'a peut-être rien à voir avec le shebang. Au lieu de cela, le répertoire dans lequel test.py réside n'est pas dans votre PATH . Essayez

$ ./test.py

pour contourner PATH recherche.

(Cela s'ajoute à la vérification que le script lui-même est exécutable.)


Sur la page de documentation Python, il est écrit :

Pour utiliser facilement les scripts Python sous Unix, vous devez les rendre exécutables, par ex. avec

$ chmod +x script et placez une ligne Shebang appropriée en haut du script. Un bon choix est généralement

#!/usr/bin/env pythonqui recherche l'interpréteur Python dans tout le PATH. Cependant, certains Unix peuvent ne pas avoir la commande env, vous devrez donc peut-être coder en dur/usr/bin/python comme chemin d'interprétation.

Je ne sais pas si cela s'applique à vous ou non.


En plus d'exécuter le script avec un point précédent ou de le rendre exécutable, il peut y avoir un autre problème :

Si vous essayez d'utiliser un script écrit avec un éditeur Windows, il peut contenir des fins de ligne Windows. Les supprimer peut faire fonctionner à nouveau le shebang.

Pour supprimer ces fins de ligne, reportez-vous à Comment convertir une fin de ligne Windows en fin de ligne Unix (CR/LF en LF) par exemple.

Voir aussi mes remarques générales sur les évaluations de shebang ratées dans mon autre réponse.


Linux
  1. Bash Echo La ligne de commande exécutée sur la ligne de commande elle-même (pas dans un script) ?

  2. Commande de sauvetage Grub. Grub ne fonctionne pas sous Ubuntu 13 ?

  3. Bluetooth ne fonctionne pas sur Ubuntu 20 Rapsberry Pi ?

  4. R 3.5.0 ne fonctionne pas sur Ubuntu 18.04 ?

  5. Le script Shell fonctionne bien sans ligne shebang? Pourquoi?

La connexion automatique ne fonctionne pas dans Ubuntu 17.10

Partage réseau Ubuntu 15.04 ne fonctionne pas ?

La commande Traceroute ne fonctionne pas sur Ubuntu

Changer le répertoire de travail dans le shell avec un script python

Nohup pour le script Python ne fonctionne pas lors de l'exécution en arrière-plan avec &

shebang ou pas shebang