Python ne fonctionnera pas dans git bash (Windows). Lorsque je tape python dans la ligne de commande, cela me prend une ligne vide sans dire qu'il est entré dans python 2.7.10 comme dans Powershell. Cela ne me donne pas un message d'erreur, mais python ne s'exécute tout simplement pas.
Je me suis déjà assuré que les variables d'environnement dans PATH incluaient c:\python27
. Que puis-je vérifier?
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.
Entrez simplement ceci dans votre shell git sous windows -> alias python='winpty python.exe'
, c’est tout et vous allez avoir un alias pour l’exécutable python. Prendre plaisir
P.S. Pour plus d’alias permanent, voir ci-dessous,
cd ~
touch .bashrc
ensuite, ouvrez .bashrc, ajoutez votre commande ci-dessus et enregistrez le fichier . Vous devez créer le fichier via la console ou vous ne pouvez pas l'enregistrer avec le nom approprié. Vous devez également redémarrer le shell pour appliquer le changement.
Je ne vois pas l'option suivante dans une liste de réponses, mais je peux obtenir une invite interactive avec la touche "-i"
$ python -i
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55)
Type "help", "copyright", "credits" or "license" for more information.
>>>
Ceci est un bogue connu dans MSys2, qui fournit le terminal utilisé par Git Bash. Vous pouvez contourner ce problème en exécutant une construction Python sans le support ncurses ou en utilisant WinPTY , utilisé comme suit:
Pour exécuter un programme de console Windows dans menthe ou Cygwin sshd, ajoutez le fichier console.exe à la ligne de commande:
$ build/console.exe c:/Python27/python.exe Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> 10 + 20 30 >>> exit()
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!).
À partir de Git pour Windows 2.7.1, essayez également d'utiliser winpty c:Python27/python.exe
; WinPTY peut être inclus directement.
Je 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 2 solutions pour moi et ces 2 solutions fonctionnent parfaitement sur GIT bash et me permettent d'exécuter des instructions Python sur GIT bash.
Je joins 3 images de mon terminal GIT bash. 1ère avec problème et les 2 derniers comme solutions.
PROBLÈME - Le curseur attend juste après avoir appuyé sur la commande python
SOLUTION 1
Exécutez winpty <path-to-python-installation-dir>/python.exe
sur le terminal GIT bash.
Remarque: N'utilisez pas C:\Users\Admin
comme style de chemin dans GIT bash, utilisez plutôt /C/Users/Admin
.
Dans mon cas, j'ai exécuté la commande winpty /C/Users/SJV/Anaconda2/python.exe
sur GIT bash
Ou si vous ne connaissez pas votre nom d'utilisateur, exécutez winpty /C/Users/$USERNAME/Anaconda2/python.exe
SOLUTION 2
Il suffit de taper python -i
et c'est tout.
Merci.
En plus de la réponse de @ Charles-Duffy, vous pouvez utiliser winpty directement sans rien installer d’autre/que de le télécharger. Il suffit de lancer winpty c:/Python27/python.exe
. L’utilitaire winpty.exe est disponible sur Git\usr\bin. J'utilise Git pour Windows v2.7.1
Les binaires pré-construits de @ Charles-Duffy sont la version 0.1.1 (selon le nom du fichier), tandis que celle incluse est 0.2.2
En plus de @Vitaliy Terziev answer
essayez touch .bash_profile
puis ajoutez un alias dans le fichier.
SALUT. C’est (pour moi) la meilleure solution pour exécuter Python (Python 2.7 et Python 3.x) directement à partir de Git Bash sous Win 10 => en ajoutant des alias dans le fichier d’alias utilisé par Git Bash.
fichier d'alias Git Bash est aliases.sh. Il est situé dans:
C:\path where you installed Git\etc\profile.d\aliases.sh
par exemple: dans mon cas le fichier est enC:\Software\Develop\Git\etc\profile.d\aliases.sh
Dans mon casle python.exe est installé dans:
C:\Networking\Network Automation\Python 2.7\python.exe
C:\Networking\Network Automation\Python 3.7\python.exe
Donc vous devez créer 2 alias, un pour Python 2 (j'ai nommé python2) et l'autre pour Python 3 (j'ai nommé juste python) Git Bash utilise la structure de fichier linux. Vous devez donc changer le "\" pour "/" et si vous avez un chemin comme mon exemple Network Automation vous le mettez avec ""
"Automatisation du réseau", par ex.
winpty est la commande magique qui appellera l'exécutable.
Ajoutez donc ces lignes au début de aliases.sh
alias python2='winpty C/Networking/"Network Automation"/"Python 2.7"/python.exe'
alias python='winpty C/Networking/"Network Automation"/"Python 3.7"/python.exe'
J'ai également modifié l'alias ll pour afficher tous les fichiers et dans une liste lisible par l'homme:
alias ll='ls -lah'
Maintenant, en permanence, vous pouvez lancer les deux Python directement à partir de Git Shell en écrivant
$ python
-> lancer Python 3
$ python2
-> lancer Python 2
$ ll
-> entre un ls -lah pour afficher rapidement votre liste de fichiers détaillée
A bientôt, Harry
J'utilise MINGW64 via le code Visual Studio sous Windows 10 et j'essaie d'installer node-sass
(qui nécessite python2
). J'ai suivi felixrieseberg/windows-build-tools # 56 sur Github qui a résolu mon problème.
C'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
Ceci installe python et les autres outils de construction requis pour %USERPROFILE%\.windows-build-tools\python27
.
Vous pouvez changer la cible du raccourci Git Bash à partir de:
"C:\Program Files\Git\git-bash.exe" --cd-to-home
à
"C:\Program Files\Git\git-cmd.exe" --no-cd --command=usr/bin/bash.exe -l -i
C’est ainsi que ConEmu lançait git bash (version 16). La version récente le démarre normalement et c’est comme ça que j’y suis arrivé ...
Un autre exemple de ce problème consiste à utiliser l'interface de ligne de commande AWS Elastic Beanstalk (awsebcli, eb cli) à partir de git bash (MINGW64, Mintty) dans Windows (à l'aide de la version 2.1.0.0.windows.1 de Git).
Je ne fais que poster cela parce que cela m'a pris un certain temps pour finir ici, à la recherche de problèmes spécifiques à eb-cli
.
Des commandes telles que eb init
ou eb config save
, qui nécessitent une entrée de l'utilisateur, semblent pour provoquer un blocage/un blocage. En réalité, je suppose que la console n’a pas été mise à jour avec le texte demandant une saisie à l’utilisateur. De plus, eb deploy
ne met à jour le texte de la console qu'après la fin de la commande, je ne peux donc pas voir les mises à jour de la progression avant d'avoir terminé.
Comme mentionné dans les git pour les notes de publication Windows (pour v2.19.0) et par ex. dans réponse de Xun Yang , une solution de contournement consiste à exécuter
winpty eb <command>
(au lieu de eb <command>
)
Une alternative, comme suggéré dans ce problème de git for windows , pourrait être d'utiliser la console native Windows au lieu de menthe (option lors de l'installation de git).
Pour python version 3.7.3 dans vscode avec gitbash comme terminal par défaut, je me suis occupé de cela pendant un moment, puis j'ai suivi le conseil de @Vitaliy Terziev d'ajouter l'alias à .bashrc, mais avec la spécification suivante:
alias python = ’“/c/Utilisateurs/mon nom d’utilisateur/AppData/Local/Programmes/Python/Python37/python.exe ”'
Remarquez la combinaison de guillemets simples et doubles entre eux à cause des espaces "mon nom d'utilisateur".
Pour moi, "winpty" ne pouvait pas résoudre le chemin python dans vscode.
Essayez python -i
au lieu de python
, c'est une chose de curseur.
tapez: 'python winpty' et cela fonctionnera
gitbash rencontre des problèmes lors de l’exécution d’une commande commençant par python. Cela vaut également pour toutes les commandes python manage.py. Commencez toujours par 'winpty python manage.py' Au moins, c'est ce qui fonctionne pour moi. Exécuter Windows 10.