回答編集履歴

7

ちょっと手直し

2020/03/09 15:32

投稿

raccy
raccy

スコア21739

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- GitはもともとLinux用として開発されたこともあり、bash等と相性が良いものでした。そこで、Git for Windowsでは、Git Bashの名でbash環境を用意しています。
41
+ GitはもともとLinux用として開発されたこともあり、Bash等と相性が良いものでした。そこで、Git for Windowsでは、Git Bashの名でBash環境を用意しています。
42
42
 
43
43
 
44
44
 
@@ -50,7 +50,7 @@
50
50
 
51
51
 
52
52
 
53
- ただ、MinTTYはWindowsコンソールアプリを直接扱う事はできません。winpty経由でないと正常に動作しない、それがインストーラーに書いてあることです。通常のWindows版インストーラーで入るPython等はこの問題にぶち当たります。CUI自体の操作は良くなる代わりに、使えない物があるという不便を強いることになります。
53
+ ただ、MinTTYはWindowsコンソールアプリを直接扱う事はできません。winpty経由でないと正常に動作しない、それがインストーラーに書いてあることです。通常のWindows版インストーラーで入るPython等はこの問題にぶち当たります。CUI自体の操作は良くなる代わりに、直接実行出来ない物があるという不便を強いることになります。
54
54
 
55
55
 
56
56
 

6

一体何を回答しているのか解らなくなってきた。

2020/03/09 15:32

投稿

raccy
raccy

スコア21739

test CHANGED
@@ -1,3 +1,67 @@
1
+ すでにPythonを使っているものかと思ったのですが、そうでは無いのですね。ならば、恐れずに進んでしまえばいいかと思います。Git for Windowsは一度入れたらもう二度と入れられないというわけではありません。うまくいかなかったら、入れ直せば良いのです。二度手間かと思いますが、何が良いかというのはその時々によって変わります。自分にあったものは自分で試行錯誤しながら探していくしかないのです。
2
+
3
+
4
+
5
+ ---
6
+
7
+
8
+
9
+ さて、まずはCUI環境について学んでおきましょう。GitはGUIのツール(Git for WindowsではGit GUIというのが入りますし、それ以外にもサードパーティーのツールやエディタ等から操作する等もあります)もありますが、基本的にはCUIで操作します。CUIというのはコマンドプロンプトとかそういうのです。そう、ただのコマンドプロンプトでもGitは使えます。Pythonも普通に使う場合はCUIからです。なので、CUIの使いやすさというのは、開発のしやすさに繋がる重要なものになってきます。
10
+
11
+
12
+
13
+ WindowsでのCUI環境と言えばコマンドプロンプト(cmd.exe)でした。コマンドプロンプト自体はユーザーと対話を行う機能であり、**シェル**と言われるものです。そして、実際のウィドウはWindowsにデフォルトで用意されているコンソール(コマンドプロンプトを起動したときの黒いウィンドウのこと)が使われます。このコマンドプロンプトとWindows10より前のコンソール(以下、レガシコンソールとします)が**とても貧弱**です。何に比べて貧弱かというと、LinuxやMacに標準で入っているBashやzshといったシェルと仮想端末(xtermやGOOME端末、Macのターミナル等)に比べてです。
14
+
15
+
16
+
17
+ 貧弱と言っても、ただコマンドを実行するだけであれば十分使えます。GitもPythonも問題なく使えます。ただ、ヒストリ機能とか、フォントとか、便利なコマンドとか、パイプ処理とか、CUIだけで色々なことをしようとする不満が出てくるというものです。そのため、Microsoft自身やCygwinやMingw等を開発しているコミュニティー達はより便利なものを用意することにしました。
18
+
19
+
20
+
21
+ Microsfotはコマンドプロントとレガシコンソールの代わりに次のようなものを用意しました。
22
+
23
+
24
+
25
+ - シェル: PowerShell
26
+
27
+ - 端末環境: モダンコンソール (Windows 10から採用。最新のWindows 10ではこちらがデフォルトになっています)
28
+
29
+
30
+
31
+ 上とは別に、コミュニティーの人々は次のようなものを用意しました。
32
+
33
+
34
+
35
+ - シェル: 移植版Bash (その他zsh等も移植されています)
36
+
37
+ - 端末環境: MinTTY (もともとはCygwin用です)
38
+
39
+
40
+
41
+ GitはもともとLinux用として開発されたこともあり、bash等と相性が良いものでした。そこで、Git for Windowsでは、Git Bashの名でbash環境を用意しています。
42
+
43
+
44
+
45
+ ちょっと注意して欲しいのは、最初のコマンドプロンプトであっても、それこそ、PowerShellでもBashでもGitは問題なく使えると言うことです。ただ、コマンドプロンプトはコマンドプロンプトが貧弱すぎるため、CUIをメインに使用する場合はお勧めできるものでありません。ただそれだけの理由で、Git Bashが用意されているとも言えます。
46
+
47
+
48
+
49
+ ちょっと戻りましょう。PowerShellとBashのどちらが良いのかというのは、正直なところ私にはわかりません。書き方がかなり異なるので、比べようが無いとも言えます。ただ、どちらも強力な機能を持っています。では、モダンコンソールはどうかというと、レガシコンソールよりはいくらかマシになったとは言え、色々と不満と思われる部分がないわけではありません。Linux等と同等レベルのCUI環境が欲しいとなると、やはり、Bash + MinTTYの方が良いとなる訳です。
50
+
51
+
52
+
53
+ ただ、MinTTYはWindowsコンソールアプリを直接扱う事はできません。winpty経由でないと正常に動作しない、それがインストーラーに書いてあることです。通常のWindows版インストーラーで入るPython等はこの問題にぶち当たります。CUI自体の操作は良くなる代わりに、使えない物があるという不便を強いることになります。
54
+
55
+
56
+
57
+ 結局の所、どちらを選んでも一長一短だと言うことです。CUIとしてはやや不便な環境を使い続けるか、Python等を起動するときにwinpty経由にしなければならない不便さを許容するかになると言うことです。そんなのが嫌だ、より良いCUI環境で問題なくPythonを使いたいというのであれば、この回答の下に書いてあるConEmuやcmder等を使う必要があると言うことです。
58
+
59
+
60
+
61
+ ---
62
+
63
+
64
+
1
65
  【注意】Microsoft Store版Pythonはbashから使用できません。
2
66
 
3
67
 

5

もうちっと細く

2020/03/09 15:28

投稿

raccy
raccy

スコア21739

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 現在、WindowsにPythonをインストールする方法は複数ありますが、Microsoft Storeでインストールした場合、PATHが通される`python`コマンドは"%LOCALAPPDATA%\Microsoft\WindowsApps"にある特殊なpython.exeになります。このpython.exeは0バイトのダミーらしくコマンドプロンプトやPowerShell経由でないと、本来のアプリがうまく起動しません(Pythonが入っていないとストアを表示するような動作になっているらしいです。詳しい動作はまだ調べてきれていません)。
5
+ 現在、WindowsにPythonをインストールする方法は複数ありますが、Microsoft Storeでインストールした場合、PATHが通される`python`コマンドは"%LOCALAPPDATA%\Microsoft\WindowsApps"にある特殊なpython.exeになります。このpython.exeは0バイトのダミーらしくコマンドプロンプトやPowerShell経由でないと、本来のアプリがうまく起動しません(Pythonが入っていないとストアを表示するような動作になっているらしいです。詳しい動作はまだ調べてきれていません)。この制限はMinTTYやデフォルトコンソールに関係無く、Git Bashを使う限り発生します。インストーラーでどちらを選んでも対応できません。
6
6
 
7
7
 
8
8
 

4

上の注意は何なのか

2020/03/07 16:30

投稿

raccy
raccy

スコア21739

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- Git for Windowsのbashを主に使用しながらPythonを使う場合は、Python本家のインストーラーかAnacondaを使用してインストールするようにして下さい(Chocolateyでも構いません)。Microsoft Store版を使用する場合は、bashを使わずに、コマンドプロンプトかPowershellを常に使うようにして下さい。コマンドプロンプトやPowerShellであってもgitコマンドは正常に使用できます。
9
+ Git for Windowsのbashを主に使用しながらPythonを使う場合は、Python本家のインストーラーかAnacondaを使用してインストールするようにして下さい(Chocolateyでも構いません。下記にあげたConEmuはこれらのインストーラーで入るPythonであれば問題ありません)。Microsoft Store版を使用する場合は、bashを使わずに、コマンドプロンプトかPowershellを常に使うようにして下さい。コマンドプロンプトやPowerShellであってもgitコマンドは正常に使用できます。
10
10
 
11
11
 
12
12
 

3

ちょっと補足一杯

2020/03/07 16:24

投稿

raccy
raccy

スコア21739

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 現在、WindowsにPythonをインストールする方法は複数ありますが、Microsoft Storeでインストールした場合、PATHが通される`python`コマンドは"%LOCALAPPDATA%\Microsoft\WindowsApps"にある特殊なpython.exeになります。このpython.exeは0バイトのダミーらしくコマンドプロンプトやPowerShell経由でないとうまく起動しません(詳しい動作はまだ調べていません)。
5
+ 現在、WindowsにPythonをインストールする方法は複数ありますが、Microsoft Storeでインストールした場合、PATHが通される`python`コマンドは"%LOCALAPPDATA%\Microsoft\WindowsApps"にある特殊なpython.exeになります。このpython.exeは0バイトのダミーらしくコマンドプロンプトやPowerShell経由でないと、本来のアプリがうまく起動しません(Pythonが入っていないとストアを表示するような動作になっているらしいです。詳しい動作はまだ調べてきれていません)。
6
6
 
7
7
 
8
8
 

2

原因がわかった

2020/03/07 16:21

投稿

raccy
raccy

スコア21739

test CHANGED
@@ -1,12 +1,16 @@
1
- 久々にWindowsPythonを試したら、cmder上のgit bashではアプリ版Pythonが起動しませんでした最近はWSL上でしかPython触っていなかったので、気付かなかったようです。回避策を探すのが面倒なので、**下の回答は忘れて下さい。**
1
+ 【注意】Microsoft Store版Pythonbashから使用ません。
2
+
3
+
4
+
5
+ 現在、WindowsにPythonをインストールする方法は複数ありますが、Microsoft Storeでインストールした場合、PATHが通される`python`コマンドは"%LOCALAPPDATA%\Microsoft\WindowsApps"にある特殊なpython.exeになります。このpython.exeは0バイトのダミーらしくコマンドプロンプトやPowerShell経由でないとうまく起動しません(詳しい動作はまだ調べていません)。
6
+
7
+
8
+
9
+ Git for Windowsのbashを主に使用しながらPythonを使う場合は、Python本家のインストーラーかAnacondaを使用してインストールするようにして下さい(Chocolateyでも構いません)。Microsoft Store版を使用する場合は、bashを使わずに、コマンドプロンプトかPowershellを常に使うようにして下さい。コマンドプロンプトやPowerShellであってもgitコマンドは正常に使用できます。
2
10
 
3
11
 
4
12
 
5
13
  ---
6
-
7
-
8
-
9
- **【警告】アプリ版Pythonだとうまくいかないようなので、参考にしないでください。【警告】**
10
14
 
11
15
 
12
16
 

1

この回答は没で

2020/03/07 16:20

投稿

raccy
raccy

スコア21739

test CHANGED
@@ -1,3 +1,15 @@
1
+ 久々にWindowsのPythonを試したら、cmder上のgit bashではアプリ版Pythonが起動しませんでした。最近はWSL上でしかPython触っていなかったので、気付かなかったようです。回避策を探すのが面倒なので、**下の回答は忘れて下さい。**
2
+
3
+
4
+
5
+ ---
6
+
7
+
8
+
9
+ **【警告】アプリ版Pythonだとうまくいかないようなので、参考にしないでください。【警告】**
10
+
11
+
12
+
1
13
  **個人的な意見ですが、**インストール時の設定とは関係無く、[ConEmu](https://conemu.github.io/)を使うことをお勧めします。
2
14
 
3
15
  [FAQ · git-for-windows/git Wiki](https://github.com/git-for-windows/git/wiki/FAQ#some-native-console-programs-dont-work-when-run-from-git-bash-how-to-fix-it) にもConEmuの使用が代替候補として記載されています。ConEmuでも [ConEmu | Using Git for Windows](https://conemu.github.io/en/GitForWindows.html) に設定方法が書いてあり、Git for Windowsでの使用をサポートしています。