Si je le fais dans CMD, cela fonctionne sans problème, mais si je l’essaye dans Git Bash, cela ne fonctionne pas. J'aime utiliser Git Bash comme seule console, mais je ne peux pas le faire si cela ne fonctionne pas avec Python 3.4.
L'exemple est dans l'image ci-dessous. Cela peut être facilement reproduit. Désinstallez Python et Git s’ils sont installés, installez Python 3.4, installez Git 2.5.1 et vous obtenez ce résultat.
Comment puis-je faire fonctionner l'interprète Python dans Git Bash?
Le terminal MinTTY qui est le nouveau terminal par défaut pour Git ne prend tout simplement pas en charge les programmes de console Windows. Je ne sais pas pourquoi la décision a été prise de changer le terminal par défaut, mais je connais quelques façons de contourner ce problème:
Alias Bash (mettre dans votre .bashrc):
alias python=winpty python.exe
Remarque : À partir de Git pour Windows 2.7.1, Winpty est inclus. winpty peut être trouvé installé à Git\usr\bin
.
Alias Bash (mettre dans votre .bashrc):
function maybe_python34() {
if [ $# -eq 0 ]; then
/c/Python34/python.exe -i
else
/c/Python34/python.exe $@
fi
}
alias python=maybe_python34
Notez que cela peut ne pas fonctionner correctement avec les touches de direction pour parcourir l'historique des commandes:
python -i
Ou pour les scripts:
python script.py
Vous devez expliciter le mode interactif python: python -i
Vous pouvez définir un alias dans votre fichier .bashrc: alias python = 'python -i', mais vous ne pourrez pas exécuter de script (par exemple: python script.py} ).
Trouvé ici: Utilisation de Windows Python de Cygwin
Construire sur la réponse de @ Darthfett. Je devais m'assurer qu'il y avait des guillemets et ne pas faire référence aux fichiers .exe
Donc à la fin de votre .bashrc
alias python='winpty python'
alias pip='winpty pip' # Rescue pip as well
Alors est tout fonctionne
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()
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.
Il essaie d'ouvrir la console pour la sortie. Sauf si vous compilez python ou obtenez une version pour mingw, vous aurez peut-être besoin de quelque chose comme:
Merci pour le answer de @darthfett, qui résout en grande partie le problème!
Juste pour info: le même symptôme existe également lorsque votre script utilise import getpass; getpass.getpass()
, et dans ce cas, python -i your_script.py
NE le réparera PAS, mais winpty python your_script.py
fonctionne toujours comme un charme. (Heureusement qu’ils ont au moins fourni à Winpty des versions récentes de Git For Windows non livrées.)
Donc, pour configurer une fois (par environnement virtuel) et l’oublier, vous pouvez ajouter cette ligne à la fin de votre env/Script/activate
:
alias python='winpty python.exe'
Cela fonctionnera dans cette console bash. (Cependant, si vous êtes un utilisateur de vim, cela ne fonctionnera toujours pas dans un vim lorsque vous utiliserez :python my_script.py
dans vim.)
Lors de l’installation de git pour Windows, choisissez d’utiliser la fenêtre de console par défaut de Windows, comme indiqué dans l’illustration ci-dessous. Cette option vous permet d’utiliser un python interactif ou un nœud js. De plus, getpass fonctionne sur cette console.
Lors de l’installation de git pour Windows, choisissez d’utiliser la fenêtre de console par défaut de Windows, comme indiqué dans le picture . Cette option vous permet d’utiliser un python interactif ou un nœud js. De plus, getpass fonctionne sur cette console.
Vous pouvez configurer la console git bash en éditant le fichier dans votre "$ HOME/.bashrc"
Ajouter cette ligne à votre $HOME/.bashrc
export PATH=$PATH;c:/python34