CMDで実行すると問題なく動作しますが、Git Bashで実行すると動作しません。 Git Bashを唯一のコンソールとして使用したいのですが、Python 3.4。で動作しない場合はできません。
例は下の図にあります。これは簡単に再現できます。アンインストールPythonおよびGitがインストールされている場合、インストールPython 3.4、Git 2.5.1をインストールすると、その結果が得られます。
Git BashでPythonインタープリターを動作させるにはどうすればよいですか?
Gitの新しいデフォルトターミナルであるMinTTYターミナルは、Windowsコンソールプログラムをサポートしていません。デフォルトの端末を変更する決定が下された理由はわかりませんが、これを回避するいくつかの方法を知っています。
Bashエイリアス(.bashrcに入力):
alias python=winpty py.exe
注:Git for Windows 2.7.1の時点では、Winptyはそのまま使用できます。 winptyはGit\usr\bin
にインストールされています。
Bashエイリアス(.bashrcに入力):
function maybe_py() {
if [ $# -eq 0 ]; then
/c/Windows/py.exe -i
else
/c/Windows/py.exe $@
fi
}
alias python=maybe_py
コマンド履歴を参照するために矢印キーを使用すると、これが正しく機能しない場合があることに注意してください。
py -i
またはスクリプトの場合:
py script.py
py.exeとは何ですか?
特定のC:\Windows\py.exe
インストールではなくpython.exe
を参照している理由がわからない場合は、それを使用するいくつかの利点を説明したかった( Python Launcher for Windows :
優先/システムインストールの変更(例:インタラクティブモード)については、 this answer を参照してください。
明示的にpythonインタラクティブモード:python -i
.bashrcでエイリアスを定義できます:alias python = 'python -i'しかし、これを行うと、スクリプトを実行できなくなりますファイル(例:python script.py)。
ここにあります: Windows Python)を使用
@Darthfettの答えに基づいて。引用符があり、.exeファイルを参照していないことを確認する必要がありました
最後に.bashrc
alias python='winpty python' alias pip='winpty pip' # Rescue pip as well
それからすべての作品です
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.
出力用のコンソールを開こうとしています。 pythonをコンパイルするか、mingwのバージョンを取得しない限り、次のようなものが必要になる場合があります。
@darthfettの answer に感謝します。これにより、この問題が大幅に解決されます。
参考までに、スクリプトでimport getpass; getpass.getpass()
を使用している場合にも同じ症状が存在します。この場合、python -i your_script.py
は修正されませんが、winpty python your_script.py
は引き続き機能します。 (少なくとも、最新バージョンのGit For WindowsでWinptyをそのまま使用できることは幸運です。)
したがって、一度(仮想環境ごとに)セットアップして忘れるには、env/Script/activate
の最後に次の行を追加できます。
alias python='winpty python.exe'
そのbashコンソールで動作します。 (ただし、vimユーザーである場合、vimで:python my_script.py
を実行してもvim内では動作しません。)
Git for windowsをインストールする場合、下の図に示すように、windowsのデフォルトコンソールウィンドウを使用することを選択します。このオプションを使用すると、インタラクティブなpythonまたはnodejsを使用できます。getpassはこのコンソールでも機能します。
Git for windowsをインストールする場合、 picture に示すように、windowsのデフォルトコンソールウィンドウを使用することを選択します。このオプションを使用すると、インタラクティブなpythonまたはnodejsを使用できます。getpassはこのコンソールでも機能します。
「$ HOME/.bashrc」のファイルを編集して、git bashコンソールを構成できます。
この行を$HOME/.bashrc
に追加します
export PATH=$PATH;c:/python34