Python ne fonctionnera pas dans git bash (Windows). Lorsque je tape python dans la ligne de commande, cela m'amène à une ligne vierge sans dire qu'il a entré python 2.7.10 comme il le fait dans Powershell. Cela ne me donne pas de message d'erreur, mais python ne fonctionne tout simplement pas.
J'ai déjà fait en sorte que les variables environnementales dans PATH soient incluses c:\python27
. Que puis-je vérifier d'autre?
Une session dans laquelle ce problème se produit ressemble à ceci:
user@hostname MINGW64 ~
$ type python
python is /c/Python27/python
user@hostname MINGW64 ~
$ python
... assis là sans revenir à l'invite.
Réponses:
Entrez simplement ceci dans votre shell git sur windows ->
alias python='winpty python.exe'
, c'est tout et vous allez avoir un alias pour l'exécutable python. Prendre plaisirPS Pour l'ajout d'alias permanent, voir ci-dessous,
puis ouvrez .bashrc, ajoutez votre commande d'en haut et enregistrez le fichier. Vous devez créer le fichier via la console ou vous ne pouvez pas l'enregistrer avec le nom correct. Vous devez également redémarrer le shell pour appliquer la modification.
la source
quit()
pour sortir de l'interpréteur.^Z
(ctrl-Z) +return
pour quitter.alias python='winpty /c/Python27/python.exe'
Je ne vois pas l'option suivante dans une liste de réponses, mais je peux obtenir une invite interactive avec la touche "-i":
la source
Il s'agit d'un bogue connu de MSys2, qui fournit le terminal utilisé par Git Bash. Vous pouvez contourner ce problème en exécutant une génération Python sans prise en charge de ncurses, ou en utilisant WinPTY , utilisé comme suit:
Les binaires préconstruits pour msys sont susceptibles de fonctionner avec Git Bash. (Vérifiez s'il existe une version plus récente si un délai important s'est écoulé depuis la publication de cette réponse!).
Depuis Git pour Windows 2.7.1, essayez également d'utiliser
winpty c:Python27/python.exe
; WinPTY peut être inclus prêt à l'emploi.la source
build/console.exe c:/Python27/python.exe
- est-ce que cela devrait être exécuté dans la console GitMsys ou de toute autre manière?build
c'est le répertoire qui seconsole.exe
trouve dans; mettre à jour le chemin d'accès en fonction de l'endroit / de la façon dont vous l'avez réellement installé.winpty c:/Python27/python.exe
, sans rien faire de plus. L'utilitaire winpty.exe se trouve dans Git \ usr \ bin. J'utilise Git pour Windows v2.7.1Je suis un utilisateur de Windows 10 et j'ai installé GIT dans mon système en acceptant simplement les valeurs par défaut.
Après avoir lu les réponses ci-dessus, j'ai obtenu 2 solutions pour moi et ces 2 solutions fonctionnent parfaitement sur GIT bash et me facilitent pour exécuter des instructions Python sur GIT bash.
Je joins 3 images de mon terminal bash GIT . 1er avec problème et les 2 derniers comme solutions.
PROBLÈME - Le curseur attend juste après avoir
python
appuyé sur la commandeSOLUTION 1
Exécuter
winpty <path-to-python-installation-dir>/python.exe
sur GIT terminal bash .Remarque: N'utilisez pas le
C:\Users\Admin
même style de chemin dans GIT bash, utilisez plutôt/C/Users/Admin
.Dans mon cas, j'ai exécuté la
winpty /C/Users/SJV/Anaconda2/python.exe
commande sur GIT bashOu si vous ne connaissez pas votre nom d'utilisateur, exécutez
winpty /C/Users/$USERNAME/Anaconda2/python.exe
SOLUTION 2
Tapez
python -i
et c'est tout.Merci.
la source
winpty
cela fonctionnerait également avec le lanceur Windows Python, donc tout ce dont vous avez besoin est par exemplealias py='winpty py'
dans votre .bashrc et ensuite revenir à la normale.Essayez
python -i
au lieu depython
, c'est une chose de curseur.la source
En plus de la réponse de @ Charles-Duffy, vous pouvez utiliser directement winpty sans installer / télécharger quoi que ce soit supplémentaire. Il suffit de courir
winpty c:/Python27/python.exe
. L'utilitaire winpty.exe se trouve dans Git \ usr \ bin. J'utilise Git pour Windows v2.7.1Les binaires préconstruits de @ Charles-Duffy sont la version 0.1.1 (selon le nom du fichier), tandis que celui inclus est 0.2.2
la source
Solution de contournement de Git Bash - Lancez Python 2 et Python 3 avec des alias
Salut . C'est (pour moi) la meilleure solution pour exécuter les deux Python (Python 2.7 et Python 3.x) directement à partir de Git Bash sur Win 10 => en ajoutant des alias dans le fichier d'alias que Git Bash utilise pour.
1) Ouvrez (avec un éditeur de texte comme Atom ou autre) le aliases.sh
par exemple: dans mon cas, le fichier est en
C:\Software\Develop\Git\etc\profile.d\aliases.sh
2) Ajoutez votre alias pour Python
Dans mon cas, les python.exe sont installés dans:
Donc , vous devez créer 2 alias, un pour Python 2 (j'ai nommé python2 ) et l'autre pour Python 3 (j'ai appelé juste python ) Git Bash utilise la structure de fichiers linux si vous avez besoin de changer le « \ » pour « / » et si vous avoir un chemin comme mon exemple Network Automation vous le mettez avec ""
"Network Automation" , par ex.
winpty est la commande magique qui appellera l'exécutable.
Ajoutez donc ces lignes au début de aliases.sh
3) Ajoutez ou modifiez d'autres alias (si vous le souhaitez)
J'ai également modifié l' alias ll pour afficher tous les fichiers et dans une liste lisible par l'homme:
4) Enregistrez le fichier aliases.sh
5) OK !!! fermez et relancez votre Git Bash
Maintenant, en permanence, vous pouvez lancer les deux Python directement à partir du shell Git en écrivant simplement
$ python
-> lancer Python 3$ python2
-> lancer Python 2$ ll
-> entre un ls -lah pour afficher rapidement votre liste de fichiers détailléela source
Vous pouvez modifier la cible du raccourci Git Bash à partir de:
à
C'est ainsi que ConEmu a utilisé pour démarrer git bash (version 16). La version récente démarre normalement et c'est comme ça que j'y suis arrivé ...
la source
-l
: Faites bash agir comme s'il avait été invoqué comme shell de connexion,:-i
Si les options -i sont présentes, le shell est interactiftapez: «python vide» et cela fonctionnera
gitbash a quelques problèmes lors de l'exécution d'une commande commençant par python. cela vaut également pour toutes les commandes manage.py de python. Commencez toujours par 'winpty python manage.py' Au moins, c'est ce qui fonctionne pour moi. Exécution de Windows 10.
la source
En plus de la réponse de @Vitaliy Terziev
essayez
touch .bash_profile
puis ajoutez un alias dans le fichier.la source
2 solutions de contournement, plutôt qu'une solution: Dans mon Git Bash, la commande suivante se bloque et je ne reçois pas l'invite:
Donc j'utilise juste:
Comme certaines personnes l'ont noté ci-dessus, vous pouvez également utiliser:
.
la source
J'utilise MINGW64 via Visual Studio Code sur Windows 10 et j'essaie d'installer
node-sass
(ce qui nécessitepython2
). J'ai suivi felixrieseberg / windows-build-tools # 56 sur Github qui a résolu mon problème.Ceci est un cas spécial, mais je poste au cas où quelqu'un aurait le même problème:
npm --add-python-to-path='true' --debug install --global windows-build-tools
Cela installe python et d'autres outils de construction requis dans
%USERPROFILE%\.windows-build-tools\python27
.la source
Pour python version 3.7.3 dans vscode avec gitbash comme terminal par défaut, j'ai traité cela pendant un certain temps, puis j'ai suivi les conseils de @Vitaliy Terziev d'ajouter l'alias à .bashrc mais avec la spécification suivante:
alias python = '"/ c / Users / mon nom d'utilisateur / AppData / Local / Programs / Python / Python37 / python.exe"'
Remarquez la combinaison de guillemets simples et doubles en raison des espaces «mon nom d'utilisateur».
Pour moi, "winpty" n'a pas pu résoudre le chemin python dans vscode.
la source
Un autre exemple de ce problème est l'utilisation de l'interface de ligne de commande AWS Elastic Beanstalk (awsebcli, eb cli) à partir de git bash (MINGW64, Mintty) dans Windows (à l'aide de git version 2.19.0.windows.1).
Je poste juste cela parce qu'il m'a fallu un certain temps pour me retrouver ici, à la recherche de
eb-cli
problèmes spécifiques.Les commandes telles que
eb init
oueb config save
, qui nécessitent une entrée utilisateur, semblent provoquer un blocage / blocage. En réalité, je suppose que la console n'est pas mise à jour avec le texte demandant l'entrée utilisateur. De plus,eb deploy
ne met à jour le texte de la console qu'après la fin de la commande, donc je ne vois pas les mises à jour de progression avant la fin.Comme mentionné dans les notes de mise à jour de git for windows (pour v2.19.0) et par exemple dans la réponse de Xun Yang , une solution de contournement est d'exécuter
winpty eb <command>
(au lieu de justeeb <command>
)Une alternative, comme suggéré dans ce problème git pour windows , pourrait être d'utiliser la console native de windows au lieu de mintty (option lors de l'installation de git).
la source
Celui qui a fonctionné pour moi est comme mentionné précédemment dans ces bonnes réponses ci-dessus est l'alias comme suit: (J'utilise anaconda, alors commencez par trouver où est le chemin python, puis ajoutez-le dans l'alias sur git bash). 1. sur le terminal anaconda je lance:
where python
2. sur git bash je lance:alias python='winpty "C:\ProgramData\Anaconda3\envs\your_env_name\python.exe"'
3. Terminé. Python est défini à l'intérieur du git Bash en utilisant l'alias.Merci à (Vitaliy Terziev & hygull) pour leurs réponses très utiles.
la source
python.exe -i
fonctionne mais a rencontré des problèmes pour quitter le mode interactif en envoyant "^ Z" (CTRL + Z). Il semble donc préférable de l'utiliserwinpty python.exe
dans Git Bash pour Windows.Utilisez le
~/bin
répertoire pour créer un fichier wrap / référence (comme~/bin/python
) qui sera accessible partout (vous pouvez utiliser une référence de version différente comme~/bin/python37
).Code à l'intérieur du fichier:
Je n'aime tout simplement pas ces alias "magiques" dont vous oubliez toujours d'où ils viennent, et qui entraînent parfois des problèmes dans certains cas.
~/bin/python
fichier et le-i
paramètre:la source
19480756 [sig] bash 2740! sigpacket::process: Suppressing signal 18 to win32 process (pid 14820)
- exemple de réponse après envoi^Z
en mode interactifpython.exe -i
Tapez la commande PY au lieu de Python. Appel de l'interpréteur (python.org).
la source
Jetez un œil à cette réponse:
Git Bash ne lancera pas mes fichiers python?
le chemin dans Git Bash devrait être défini comme ceci:
la source