python git bash

La consola de bash de Git 2.5.1 no abre el intérprete de Python



python 3 (8)

Al instalar git para Windows, elija usar la ventana de la consola predeterminada de Windows como se muestra en la imagen . Esta opción le permite utilizar python o nodejs interactivos. También funciona getpass en esta consola.

Si lo hago en CMD, funciona sin problemas, pero si lo intento en Git Bash no funciona. Me gusta usar Git Bash como mi única consola, pero no puedo hacerlo si no funciona con Python 3.4.

El ejemplo está en la imagen de abajo. Esto se puede reproducir fácilmente. Desinstale Python y Git si están instalados, instale Python 3.4, instale Git 2.5.1 y obtendrá ese resultado.

¿Cómo puedo hacer que el intérprete de Python funcione en Git Bash?


Al instalar git para Windows, elija usar la ventana de la consola predeterminada de Windows como se muestra en la imagen a continuación. Esta opción le permite utilizar python o nodejs interactivos. También funciona getpass en esta consola.

introduzca la descripción de la imagen aquí


Construyendo sobre la respuesta de @Darthfett. Tenía que asegurarme de que hubiera comillas y no hacer referencia a los archivos .exe

Así que al final en tu .bashrc

alias python=''winpty python'' alias pip=''winpty pip'' # Rescue pip as well

Entonces es todo funciona

Pitón

Tawanda@Tawanda-PC MINGW64 ~ $ alias python=''winpty python'' Tawanda@Tawanda-PC MINGW64 ~ $ python Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> exit()

Pipa

Tawanda@Tawanda-PC MINGW64 ~ $ alias pip=''winpty pip'' Tawanda@Tawanda-PC MINGW64 ~ $ pip -v Usage: pip <command> [options] Commands: install Install packages. download Download packages. uninstall Uninstall packages. freeze Output installed packages in requirements format. list List installed packages. show Show information about installed packages.


El terminal MinTTY que es el nuevo terminal predeterminado para Git simplemente no es compatible con los programas de la consola de Windows. No sé por qué se tomó la decisión de cambiar el terminal predeterminado, pero conozco algunas maneras de solucionar esto:

  1. Escribe un alias de Bash para lanzar python con winpty

Alias ​​Bash (poner en su .bashrc):

alias python=winpty python.exe

Nota : A partir de Git para Windows 2.7.1, Winpty se incluye fuera de la caja. Se puede encontrar winpty instalado en Git/usr/bin .

  1. Escriba un alias de Bash para iniciar python en modo interactivo si no hay argumentos:

Alias ​​Bash (poner en su .bashrc):

function maybe_python34() { if [ $# -eq 0 ]; then /c/Python34/python.exe -i else /c/Python34/python.exe $@ fi } alias python=maybe_python34

  1. Lanzar python en modo interactivo explícitamente

Tenga en cuenta que esto puede no funcionar correctamente con las teclas de flecha para examinar el historial de comandos:

python -i

O para los guiones:

python script.py


Está intentando abrir la consola para la salida. A menos que compiles python u obtengas una versión para mingw, puedes necesitar algo como:

WinPty


Gracias por la answer @darthfett, que resuelve el problema en gran medida.

Solo para su información: El mismo síntoma también existe cuando su secuencia de comandos está usando import getpass; getpass.getpass() import getpass; getpass.getpass() , y en este caso python -i your_script.py NO lo solucionará, pero winpty python your_script.py todavía funciona como un encanto. (Por suerte, al menos proporcionan Winpty de fábrica con versiones recientes de Git para Windows).

Entonces, para configurar una vez (por entorno virtual) y olvidarlo, puede agregar esta línea al final de su env/Script/activate :

alias python=''winpty python.exe''

Funcionará en esa consola bash. (Sin embargo, si eres un usuario vim, aún no funcionará dentro de vim cuando lo hagas :python my_script.py in vim).


Necesitas explícito el modo interactivo de python : python -i

Puede definir un alias en su .bashrc: alias python = ''python -i'' , pero al hacer esto, no podrá ejecutar un archivo de script (es decir, python script.py ).

Encontrado aquí: Usando Windows Python de Cygwin


Puede configurar la consola git bash editando el archivo en su "$ HOME / .bashrc"

Agregue esta línea a su $HOME/.bashrc

export PATH=$PATH;c:/python34