¿Cómo hago un ejecutable de script de python?

¿Cómo puedo ejecutar un script en python con mi propio nombre de línea de comando como ‘myscript’ sin tener que hacer ‘myscript.py’ en el terminal?

  1. Agregue una línea shebang a la parte superior de la secuencia de comandos:

    #!/usr/bin/env python

  2. Marque el script como ejecutable:

    chmod +x myscript.py

  3. Agregue el directorio que lo contiene a su variable PATH . (Si desea que se pegue, tendrá que hacer esto en .bashrc o .bash_profile en su directorio de inicio).

    export PATH=/path/to/script:$PATH

La mejor manera, que es multiplataforma, es crear setup.py , definir un punto de entrada en él e instalarlo con pip .

Digamos que tienes los siguientes contenidos de myscript.py :

 def run(): print('Hello world') 

A continuación, agregue setup.py con lo siguiente:

 from setuptools import setup setup( name='myscript', version='0.0.1', entry_points={ 'console_scripts': [ 'myscript=myscript:run' ] } ) 

El formato del punto de entrada es terminal_command_name=python_script_name:main_method_name

Finalmente instalar con el siguiente comando.

 pip install -e /path/to/script/folder 

-e significa editable, lo que significa que podrá trabajar en el script e invocar la última versión sin necesidad de volver a instalar

Después de eso puede ejecutar myscript desde cualquier directorio.

Normalmente lo hago en el guión:

 #!/usr/bin/python ... code ... 

Y en la terminal:

 $: chmod 755 yourfile.py $: ./yourfile.py 

mesa de permisos