tutorial instalar español ejecutar desde descargar consola como comandos python windows linux shebang

instalar - Notación Shebang: secuencias de comandos de Python en Windows y Linux?



manual de python 3.6 en español pdf (4)

Tengo algunos pequeños scripts de utilidad escritos en Python que quiero que se puedan usar tanto en Windows como en Linux. Quiero evitar tener que invocar explícitamente el intérprete de Python. ¿Hay alguna manera fácil de apuntar la notación shebang a las ubicaciones correctas tanto en Windows como en Linux? Si no es así, ¿hay alguna otra manera de permitir la invocación implícita del intérprete de Python tanto en Windows como en Linux sin tener que modificar el script cuando se transfiere entre sistemas operativos?

Editar: El soporte shebang en Windows se proporciona Cygwin, pero quiero utilizar el intérprete nativo de Windows Python en Windows, no el de Cygwin.

Editar # 2: Parece que la notación shebang anula las asociaciones de archivos en los terminales Cygwin. Creo que podría simplemente desinstalar Cygwin Python y symlink / usr / bin / python para Windows nativo Python.


A menos que esté usando cygwin, windows no tiene soporte shebang. Sin embargo, cuando instala Python, agrega como asociación de archivos para .py. Si pone solo el nombre de su script en la línea de comando, o hace doble clic en él en el explorador de Windows, se ejecutará a través de python.

Lo que hago es incluir un shebang #!/usr/bin/env python en mis scripts. Esto permite el soporte de shebang en Linux. Si lo ejecuta en una máquina de Windows con Python instalado, entonces la asociación de archivos debe estar allí, y se ejecutará también.


Instala pywin32. Una de las cosas buenas es que configura la asociación de archivos de * .py al intérprete de Python.


Lea sobre el Lanzador de Python para Windows en los documentos, que se describió inicialmente en PEP 397 . Le permite definir configuraciones de shebang personalizadas en una ini (por ejemplo, para usar pypy), pero de fábrica puede usar shebangs virtuales como #!/usr/bin/env python3 , o shebangs con rutas reales como #!C:/Python33/python.exe . También puede agregar opciones de línea de comandos a un shebang. Por ejemplo, el siguiente shebang agrega la opción de ingresar al modo interactivo después de que termina el script: #!/usr/bin/python3 -i .

Python 3.3 asocia los tipos de archivo de script .py (consola) y .pyw (GUI) con los iniciadores respectivamente nombrados, py.exe y pyw.exe, para habilitar el soporte de shebang para los scripts en Windows. Los nuevos iniciadores se instalan en la carpeta raíz de Windows (es decir, %SystemRoot% ) cuando se instalan para todos los usuarios. De lo contrario, querrá agregar el directorio de instalación a PATH para usar py.exe en el shell de cmd. Luego, desde la línea de comando puede ejecutar py -2 , py -3 , py -2.6 , py -3.3-32 (32-bit), y así sucesivamente. El iniciador es útil cuando se combina con -m para ejecutar un módulo como una secuencia de comandos, por ejemplo, py -3 -m pip install .

También hay una versión de pylauncher que puede instalarse por separado si solo usa Python 2.


No con shebang ... pero es posible que pueda configurar una asociación de archivos, consulte esta pregunta SO que trata con Perl y las respuestas asociadas que también serán pertinentes ya que hay problemas conocidos con Windows y stdin / out redirección ...