#!/usr/bin/env python
Je mets cela en haut d'un script. J'ai vu que cela devrait rendre le script exécutable à partir de la ligne de commande sans avoir besoin de python programname.py
. À moins que je ne comprenne mal, je devrais pouvoir utiliser programname.py
tant que la ligne ci-dessus se trouve en haut du script. Est-ce correct?
Cela ne fonctionne pas pour moi. Je reçois juste une erreur indiquant que je devrais utiliser python
au début de "l'appel".
Vous pouvez pratiquement exécuter universellement sans Shebang (#!
) avec
python myscript.py
Ou presque équivalent (il place le répertoire en cours sur votre chemin et exécute le module nommé myscript
) (de préférence, faites ceci!) :
python -m myscript
à partir de la ligne de commande, tant que Python est installé et sur la variable d’environnement de votre chemin (c’est-à-dire qu’il doit être exécuté avec python
, ce qui, s’il est installé, serait généralement le cas).
#!
) sont un truc Unix.Shebang, tel que vous l'utilisez, est généralement conçu pour fonctionner sur une plate-forme Unix (généralement Apple ou Linux). Windows aurait généralement besoin de cygwin pour utiliser Shebang.
Vous pouvez généralement utiliser par défaut le python disponible sur votre chemin système avec:
#!/usr/bin/env python
En supposant que vous soyez sous Unix, vous pouvez essayer d’autres emplacements pour votre configuration python, comme:
#!/usr/bin/python
Vous pouvez voir quel python vous utilisez actuellement en utilisant la commande unix which
, donc si vous voulez voir d'où vient votre python, utilisez cette commande:
which python
ou sous Windows (cygwin peut probablement exécuter le Shebang):
where python
Sous Linux/Unix, vous aurez également besoin de permanentes d'exécution pour exécuter le fichier. Utilisez chmod
chmod +x myscript.py
(chmod peut également s'appliquer à Cygwin dans Windows)
Si vous n’exécutez pas en tant que root, vous aurez peut-être besoin de Sudo
, ce qui serait
Sudo chmod +x myscript.py
Et puis essayez de courir (dans le même répertoire) avec
./myscript.py
rendre le fichier exécutable
Sudo chmod +x /path/to/file.py
et ensuite du même répertoire que file.py:
./file.py
Vous pouvez aussi utiliser webbrowser module de cette façon:
python -m webbrowser -t "http://www.python.org"