Estoy escribiendo una muy básica de aplicación en python (es sólo un archivo en el momento). Mi pregunta es ¿cómo puedo obtener por lo que la secuencia de comandos de python es capaz de ejecutarse en /usr/bin sin el .py extensión?

Por ejemplo, en lugar de correr

python htswap.py args

desde el directorio donde él está, quiero ser capaz de cd a cualquier directorio y hacer

htswap args

Gracias de antemano!

OriginalEl autor Steve Gattuso | 2009-07-22

5 Comentarios

  1. 38

    Simplemente tira de la .py extensión cambiando el nombre del archivo. A continuación, tienes que poner la siguiente línea en la parte superior de su archivo:

    #!/usr/bin/env python

    env es un pequeño programa que configura el entorno para que el derecho python intérprete se ejecuta.

    También tienes que hacer el archivo ejecutable con el comando

    chmod a+x htswap

    Y volcado en /usr/local/bin. Esto es más limpio que /usr/bin, porque el contenido de ese directorio por lo general son manejados por el sistema operativo.

    después de tanto dolor y de experiencias cercanas a la muerte, yo sugiero utilizar la versión de python que desarrollar para #!/usr/bin/env python<versión principal>.<versión menor de edad> (por ejemplo, python2.4) en su lugar. Mejor tener el control de la versión de python se ejecuta el archivo ejecutable (al menos para los casos que he experimentado, YMMV)

    OriginalEl autor Thomas

  2. 12

    La primera línea del archivo debe ser

    #!/usr/bin/env python

    Debe quitar el .py extensión, y hacer el archivo ejecutable, el uso de

    chmod ugo+x htswap

    EDICIÓN: Thomas señala correctamente que los guiones deben ser colocados en /usr/local/bin en lugar de en /usr/bin. Por favor upvote su respuesta (a expensas de la mina, tal vez. Siete upvotes (como hablamos) para este tipo de cosas es ridículo)

    Sí que era, hice esto antes y por alguna razón no funciona, resulta que me olvidé de el ! en el shebang

    OriginalEl autor Michiel Buddingh

  3. 2

    Shebang?

    #!/usr/bin/env python

    Puesto que al principio de tu archivo y listo

    Oh bebé cuando ella se mueve…

    OriginalEl autor rlazo

  4. 1

    agregar #!/usr/bin/env python a la parte superior de htswap.py y cambiar el nombre de htswap.py a htswap, a continuación, hacer un comando: chmod +x htswap para hacer htswap ejecutable.

    OriginalEl autor b3rx

  5. -1

    Veo en el oficial de Python tutoriales, http://docs.python.org/tutorial/index.html, que

    #! /usr/bin/env python

    es usada sólo como las respuestas anteriores sugieren. Tenga en cuenta que también puede utilizar el siguiente

    #!/usr/bin/python

    Este es el estilo que veremos en los scripts de shell, como scripts de bash. Por ejemplo

    #!/bin/bash

    Al ver que el oficial tuts ir con la primera opción que es probablemente su mejor apuesta. La consistencia en el código es algo por que luchar!

    Para su referencia, la primera es mejor, porque es portable. No cada sistema de archivos tiene la segunda opción.

    OriginalEl autor rand_acs

Dejar respuesta

Please enter your comment!
Please enter your name here