web-dev-qa-db-ja.com

Pythonがgit bashのコマンドラインで動作しない

Pythonはgit bashで動作しません(Windows)。コマンドラインにpythonと入力すると、Powershellの場合と同じようにpython 2.7.10が入力されたことを言わずに空白行に移動します。エラーメッセージは表示されませんが、Pythonは実行されません。

PATHの環境変数にc:\python27が含まれていることを確認しました。他に何をチェックできますか?


この問題が発生するセッションは次のようになります。

user@hostname MINGW64 ~
$ type python
python is /c/Python27/python

user@hostname MINGW64 ~
$ python

...プロンプトに戻らずにそこに座っている。

159
Caroline Morris

これをWindowsのgit Shell - > alias python='winpty python.exe'に入力するだけです。これですべてであり、python実行可能ファイルへの別名を使用することになります。楽しい

P.S恒久的な別名の追加については、下記を参照してください。

cd ~
touch .bashrc

次に.bashrcを開き、上からコマンドを追加してファイルを保存します。コンソールからファイルを作成する必要があります。そうしないと、正しい名前で保存することができません。変更を適用するには、シェルを再起動する必要もあります。

255
Vitaliy Terziev

答えのリストに次の選択肢はありませんが、 " - 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.
>>> 
58
vav

これはGit Bashが使用する端末を提供するMSys2の既知のバグです。 ncursesサポートなしでPythonビルドを実行するか、または WinPTY を次のように使用することで回避できます。

MinttyまたはCygwin sshdでWindowsコンソールプログラムを実行するには、コマンドラインの先頭にconsole.exeを追加します。

$ 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()

msys 用のビルド済みバイナリはGit Bashで動作する可能性があります(この回答が投稿されてからかなりの時間が経過した場合は、新しいバージョンがあるかどうか確認してください)。


Git for Windows 2.7.1以降では、winpty c:Python27/python.exeも使用してみてください。 WinPTYはそのまま使用することができます。

52
Charles Duffy

私はWindows 10ユーザーで、デフォルトをそのまま使用することによって私のシステムにGITをインストールしました。

上記の答えを読んだ後、私は自分自身で2つの解決策を得ました。これら2つの解決策はGITbashで完全に機能し、でPythonステートメントを実行しやすくします。 )_ git _bash。

私は自分のGITbash端末を3枚添付しています。解決策としての問題と後者の2との第一。

PROBLEM - pythonコマンドを実行した後、カーソルは待機しています

enter image description here

解決策1

GITbash端末でwinpty <path-to-python-installation-dir>/python.exeを実行します。

注:GITbashでは、C:\Users\Adminのようなパススタイルを使用しないでください。代わりに/C/Users/Adminを使用してください。

私の場合は、GITbashでwinpty /C/Users/SJV/Anaconda2/python.exeコマンドを実行しました。

またはあなたのユーザ名がわからない場合はwinpty /C/Users/$USERNAME/Anaconda2/python.exeを実行してください。

enter image description here

解決策2

python -iと入力するだけです。

enter image description here

ありがとう。

35
hygull

@ Charles-Duffyの答えに加えて、余分なものをインストール/ダウンロードせずに直接winptyを使うことができます。 winpty c:/Python27/python.exeを実行するだけです。 winpty.exeユーティリティはGit\usr\binにあります。 Git for Windows v2.7.1を使用しています。

@ Charles-Duffyのビルド済みバイナリはバージョン0.1.1(ファイル名によると)ですが、含まれているものは0.2.2です。

7
Xun Yang

Git Bashの回避策-エイリアスを使用してPython 2およびPython 3を起動

HI。これは(私にとって)Win 10のGit Bashから直接Python(Python 2.7およびPython 3.x)の両方を実行するための最良のソリューションです=>エイリアスファイルにエイリアスを追加するGit Bashが使用します。

Git Bashエイリアスファイルaliases.shです。 次の場所にあります:

C:\path where you installed Git\etc\profile.d\aliases.sh

1)aliases.shを(Atomなどのテキストエディターで)開きます

例:私の場合ファイルは]C:\Software\Develop\Git\etc\profile.d\aliases.sh

2)Pythonのエイリアスを追加

私の場合python.exeは以下にインストールされます:

C:\Networking\Network Automation\Python 2.7\python.exe
C:\Networking\Network Automation\Python 3.7\python.exe

2つのエイリアスを作成する必要があります。1つはPython 2I namedpython2 )およびPython 3のもう一方(ちょうどpython)Git BashはLinuxファイル構造を使用するため、 "\" "に変更する必要があります/ "そして、私の例のようなパスがある場合Network Automationでそれを置きます" "

"ネットワークオートメーション"例:

winptyは実行可能ファイルを呼び出すマジックコマンドです。

したがって、これらの行を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'

)他のエイリアスを追加または変更します(必要な場合)

また、llエイリアスを変更して、すべてのファイルを人間が読めるリストに表示しました。

alias ll='ls -lah'

4)aliases.shファイルを保存


5)OK !!! Git Bashを閉じて再起動する

これで、永続的に、書き込み中のGit Shellから両方のPythonを直接起動できます

$ python-> launch Python 3

$ python2->起動Python 2

$ ll-> ls -lahを入力して、詳細なファイルリストをすばやく表示します

乾杯、ハリー

3
Harry

@Vitaliy Terzievに加えて回答

touch .bash_profileを試してから、ファイルにエイリアスを追加してください。

1
henjiFire

私はWindows 10上のVisual Studio CodeでMINGW64を使用していて、node-sassをインストールしようとしています(これにはpython2が必要です)。私はGithubで felixrieseberg/windows-build-tools#56 に従って、問題を解決しました。

これは特別なケースですが、私は誰かが同じ問題を抱えている場合に備えて投稿しています:

npm --add-python-to-path='true' --debug install --global windows-build-tools

これはpythonと他の必要なビルドツールを%USERPROFILE%\.windows-build-tools\python27にインストールします。

1
Blaskovicz

Git Bashショートカットのターゲットは以下から変更できます。

"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

これがConEmuがgit bash(バージョン16)を起動するために使用した方法です。最近のバージョンでは普通に起動しています。

1
Igonato

「winpty python」と入力すると動作します。

gitbashはpythonで始まるコマンドを実行するときにいくつか問題があります。これはpython manage.pyコマンドにも当てはまります。常に 'winpty python manage.py'から始めてください。少なくともこれが私にとってはうまくいきます。 Windows 10を実行している。

1

この問題のもう1つの例は、(gitバージョン2.19.0.windows.1を使用して)Windowsでgit bash(MINGW64、Mintty)からAWS Elastic Beanstalkコマンドラインインターフェイス(awsebcli、eb cli)を使用することです。

ここに投稿するのは、eb-cli特有の問題を探すためにここにたどり着くまでしばらく時間がかかったためです。

ユーザー入力が必要なeb initeb config saveなどのコマンドは、と表示され、フリーズ/ハングが発生します。実際には、コンソールはユーザー入力を要求するテキストで更新されていないと思います。さらに、eb deployはコマンドが終了した後にコンソールテキストを更新するだけなので、私は進行状況の更新が終了するまで見られません。

Windows用の git (v2.19.0用)で述べたように、 Xun Yangの答え では、回避策は実行することです。

winpty eb <command>(単にeb <command>の代わりに)

この Windows用git で示唆されているように、代わりの方法はmintty(gitインストール中のオプション)の代わりにwindowsネイティブコンソールを使うことです。

0
djvg

デフォルトの端末としてgitbashを使ったvscodeのPythonバージョン3.7.3では、しばらくの間これを扱っていましたが、.bashrcにエイリアスを追加するという@Vitaliy Terzievのアドバイスに従いましたが、次のように指定しました。

alias python = '“/c/Users /私のユーザー名/ AppData/Local/Programs/Python/Python37/python.exe”'

「私のユーザー名」スペースのため、一重引用符と二重引用符の組み合わせに注意してください。

私にとっては、 "winpty"はvscodeのpythonパスを解決できませんでした。

0
Charlyboy

pythonの代わりにpython -iを試してください。これはカーソルのことです。

0
James