web-dev-qa-db-fra.com

Comment exécuter un script Python non pas comme '~ $ python myscript.py' mais comme une seule commande '~ $ myscript'?

J'ai un script Python qui prend les arguments de la ligne de commande.

Lorsque je veux exécuter le script, je dois accéder à son répertoire et exécuter:

python myscript.py [arguments]

Comment puis-je l'exécuter comme:

myscript [arguments]

Dois-je créer un package? Si c'est le cas, comment?

1
Conor McCauley

Modifiez votre script pour que votre première ligne soit un Shebang pointant vers le chemin exécutable de l'interpréteur souhaité.

D'abord, trouvez où l'exécutable python, avec which python.

Ensuite, dans la première ligne de votre script, ajoutez

#!/path/to/python

Ensuite, exécutez

mkdir $HOME/bin

Et mettez votre script là-bas.

Ça devrait le faire!

1
Eduardo Cola

Tout d'abord, assurez-vous que myscript.py est exécutable en faisant chmod +x myscript.py. Deuxièmement, assurez-vous que le Shebang #!/usr/bin/env python apparaît comme la première ligne de myscript.py. Vous exécutez ensuite le script à l'aide de ./myscript.py [arguments].

3
edwinksl

Ajouter

#!/usr/bin/python

à la première ligne de votre script. Cela suppose que vous avez python installé et exécutable à partir de/usr/bin, et que le répertoire courant (.) Est dans votre variable d'environnement PATH (pas la valeur par défaut, mais vous pouvez le changer dans votre fichier .profile).

2
ubfan1