O Python não será executado no git bash (Windows). Quando digito python na linha de comando, ele me leva para uma linha em branco sem dizer que ele inseriu o python 2.7.10 como no Powershell. Não me dá uma mensagem de erro, mas o python simplesmente não é executado.
Eu já verifiquei se as variáveis ambientais no PATH foram incluídas c:\python27
. O que mais posso verificar?
Uma sessão em que esse problema ocorre se parece com o seguinte:
user@hostname MINGW64 ~
$ type python
python is /c/Python27/python
user@hostname MINGW64 ~
$ python
... sentado lá sem retornar ao prompt.
Respostas:
Basta digitar isso no seu shell git no windows ->
alias python='winpty python.exe'
, isso é tudo e você terá um alias para o executável python. AproveitarPS Para adição de alias permanente, veja abaixo,
abra o .bashrc, adicione seu comando de cima e salve o arquivo. Você precisa criar o arquivo através do console ou não pode salvá-lo com o nome adequado. Você também precisa reiniciar o shell para aplicar a alteração.
fonte
quit()
para escapar do intérprete.^Z
(ctrl-Z) +return
para sair.alias python='winpty /c/Python27/python.exe'
Não vejo a próxima opção em uma lista de respostas, mas posso obter um prompt interativo com a tecla "-i":
fonte
Este é um bug conhecido no MSys2, que fornece o terminal usado pelo Git Bash. Você pode contornar isso executando uma compilação Python sem suporte a ncurses ou usando o WinPTY , usado da seguinte maneira:
Os binários pré-criados para msys provavelmente funcionarão com o Git Bash. (Verifique se há uma versão mais recente se tiver passado um tempo significativo desde que esta resposta foi publicada!).
No Git for Windows 2.7.1, tente também usar
winpty c:Python27/python.exe
; O WinPTY pode ser incluído imediatamente.fonte
build/console.exe c:/Python27/python.exe
- isso deve ser executado no console do GitMsys ou de qualquer outra maneira?build
seja o diretório em queconsole.exe
está; atualize o caminho adequadamente, dependendo de onde / como você realmente o instalou.winpty c:/Python27/python.exe
, sem fazer nada adicional. O utilitário winpty.exe pode ser encontrado em Git \ usr \ bin. Eu estou usando o Git para Windows v2.7.1Eu sou usuário do Windows 10 e instalei o GIT no meu sistema, apenas aceitando os padrões.
Depois de ler as respostas acima, obtive 2 soluções próprias e essas 2 soluções funcionam perfeitamente no GIT bash e me facilitam a executar instruções Python no GIT bash.
Estou anexando 3 imagens do meu terminal GIT bash. 1 com problema e os 2 últimos como soluções.
PROBLEMA - O cursor está apenas aguardando após pressionar o
python
comandoSOLUÇÃO 1
Execute
winpty <path-to-python-installation-dir>/python.exe
no terminal do GIT bash.Nota: Não use o
C:\Users\Admin
estilo de caminho semelhante no GIT bash; em vez disso, use/C/Users/Admin
.No meu caso, eu executei o
winpty /C/Users/SJV/Anaconda2/python.exe
comando no GIT bashOu, se você não souber seu nome de usuário , execute
winpty /C/Users/$USERNAME/Anaconda2/python.exe
SOLUÇÃO 2
Basta digitar
python -i
e é isso.Obrigado.
fonte
winpty
também funcionará com o Windows Python Launcher, então tudo que você precisa é, por exemplo,alias py='winpty py'
no seu .bashrc e depois voltar ao normal.Tente em
python -i
vez depython
, é uma coisa do cursor.fonte
Além da resposta de @ Charles-Duffy, você pode usar o winpty diretamente sem instalar / baixar nada extra. Apenas corra
winpty c:/Python27/python.exe
. O utilitário winpty.exe pode ser encontrado em Git \ usr \ bin. Estou usando o Git para Windows v2.7.1Os binários pré-criados do @ Charles-Duffy são a versão 0.1.1 (de acordo com o nome do arquivo), enquanto o incluído é 0.2.2
fonte
Solução alternativa do Git Bash - inicie o Python 2 e o Python 3 com aliases
HI . Esta é (para mim) a melhor solução para executar o Python (Python 2.7 e Python 3.x) diretamente do Git Bash no Win 10 => adicionando aliases no arquivo de aliases usado pelo Git Bash.
1) Abra (com um editor de texto como Atom ou outro) o aliases.sh
por exemplo: no meu caso, o arquivo está em
C:\Software\Develop\Git\etc\profile.d\aliases.sh
2) Adicione seu alias para Python
No meu caso, o python.exe está instalado em:
Então você deve criar 2 aliases, um para Python 2 ( I chamado python2 ) e outro para Python 3 ( I chamado apenas python ) Git Bash usa a estrutura de arquivos do Linux, então você precisa para mudar o "\" para "/" e se você tem um caminho como o meu exemplo de automação de rede, você o coloca com ""
"Automação de rede" , por ex.
winpty é o comando mágico que chamará o executável.
Portanto, adicione essas linhas no início de aliases.sh
3) Adicione ou modifique outros aliases (se desejar)
Modifiquei também o ll alias para mostrar todos os arquivos e em uma lista legível por humanos:
4) Salve o arquivo aliases.sh
5) OK !!! feche e reinicie seu Git Bash
Agora, permanentemente, você pode iniciar o Python diretamente do shell Git, escrevendo
$ python
-> iniciar o Python 3$ python2
-> iniciar o Python 2$ ll
-> insere um ls -lah para mostrar rapidamente sua lista detalhada de arquivosfonte
Você pode alterar o destino do atalho do Git Bash em:
para
É assim que o ConEmu costumava iniciar o git bash (versão 16). Versão recente começa normalmente e é como eu cheguei lá ...
fonte
-l
: Faça uma festa de agir como se tivesse sido invocado como um shell de login,-i
: Se as opções -i estiver presente, o shell é interativodigite: 'winpty python' e funcionará
O gitbash tem alguns problemas ao executar qualquer comando que comece com python. isso vale para qualquer comando python manage.py também. Sempre comece com 'winpty python manage.py'. Pelo menos é o que funciona para mim. Executando o Windows 10.
fonte
Além da resposta de @Vitaliy Terziev
tente
touch .bash_profile
e adicione alias ao arquivo.fonte
2 soluções alternativas, em vez de uma solução: No meu Git Bash, o seguinte comando trava e não recebo o prompt de volta:
Então eu apenas uso:
Como algumas pessoas observaram acima, você também pode usar:
.
fonte
Estou usando o MINGW64 via Visual Studio Code no Windows 10 e tentando instalar
node-sass
(o que requerpython2
). Segui felixrieseberg / windows-build-tools # 56 no Github que resolveu meu problema.Este é um caso especial, mas estou postando caso alguém tenha o mesmo problema:
npm --add-python-to-path='true' --debug install --global windows-build-tools
Isso instala o python e outras ferramentas de compilação necessárias
%USERPROFILE%\.windows-build-tools\python27
.fonte
Para python versão 3.7.3 no vscode com gitbash como o terminal padrão, eu estava lidando com isso por um tempo e depois segui o @Vitaliy Terziev de adicionar o alias ao .bashrc, mas com a seguinte especificação:
alias python = '“/ c / Usuários / meu nome de usuário / AppData / Local / Programas / Python / Python37 / python.exe”'
Observe a combinação de aspas simples e duplas devido aos espaços "meu nome de usuário".
Para mim, "winpty" não conseguiu resolver o caminho do python no vscode.
fonte
Outro exemplo desse problema é o uso da interface da linha de comando do AWS Elastic Beanstalk (awsebcli, eb cli) do git bash (MINGW64, Mintty) no Windows (usando a versão 2.19.0.windows.1 do git).
Estou postando isso porque demorei um pouco para terminar aqui, procurando por
eb-cli
problemas específicos.Comandos como
eb init
oueb config save
, que requerem entrada do usuário, parecem causar um congelamento / travamento. Na realidade, acho que o console não é atualizado com o texto que solicita a entrada do usuário. Além disso,eb deploy
apenas atualiza o texto do console após a conclusão do comando, portanto, não consigo ver as atualizações de progresso até terminar.Conforme mencionado nas notas de lançamento do git for windows (para v2.19.0) e, por exemplo, na resposta de Xun Yang , uma solução alternativa é executar
winpty eb <command>
(em vez de apenaseb <command>
)Uma alternativa, conforme sugerido neste problema do git for windows , poderia ser usar o console nativo do windows em vez do mintty (opção durante a instalação do git).
fonte
O que funcionou para mim é como mencionado anteriormente nessas ótimas respostas acima: o alias é o seguinte: (estou usando o anaconda, primeiro encontre onde está o caminho do python e adicione-o ao alias no git bash). 1. no terminal anaconda eu corro:
where python
2. no git bash eu corro:alias python='winpty "C:\ProgramData\Anaconda3\envs\your_env_name\python.exe"'
3. Concluído. Python é definido dentro do git Bash usando o alias.Agradecemos a (Vitaliy Terziev & hygull) por suas respostas muito úteis.
fonte
python.exe -i
funciona, mas teve problemas ao sair do modo interativo enviando "^ Z" (CTRL + Z). Portanto, pareça melhor usarwinpty python.exe
no Git Bash para Windows.Use o
~/bin
diretório para criar um arquivo de quebra / referência (como~/bin/python
) que estará acessível em qualquer lugar (você pode usar diferentes referências de versão~/bin/python37
).Código dentro do arquivo:
Eu simplesmente não gosto desses pseudônimos "mágicos" que você sempre esquece de onde vem e, às vezes, leva a problemas em alguns casos.
~/bin/python
arquivo e-i
parâmetro:fonte
19480756 [sig] bash 2740! sigpacket::process: Suppressing signal 18 to win32 process (pid 14820)
- exemplo de resposta após o envio^Z
com o modo interativo executado porpython.exe -i
Digite o comando PY em vez de Python. Invocando o intérprete (python.org).
fonte
Veja esta resposta:
O Git Bash não executa meus arquivos python?
o caminho no Git Bash deve ser definido assim:
fonte