質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1428閲覧

Windows10へGitのインストール

AtyAty

総合スコア9

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/03/07 13:15

Git install
Windows10にGitのインストールをする際、Configuring the Terminalemulater to use with Git Bash.の項目でuse MinTTY default terminal..もしくはUse Window's default consoleのどちらを選べば良いのか迷っています。

MinTTYを選択すると、Pythonを使用する際winptyを通して起動しなければ・・という記述を読み、winptyというものがPython3や2を主に使用する場合、何か作業工程上に今後手間がかかるのだろうか、と危惧しています。
ネット上の情報だと大体の方はMinTTYを選択していますが、Window's defaultを選択した場合のリスクや不便さは何があるのか教えて頂けたら有難いです。
よろしくお願いいたします。

install画面

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nskydiving

2020/03/07 14:01

>MinTTYを選択すると、Pythonを使用する際winptyを通して起動しなければ・・という記述を読み どこの記述でしょうか?
AtyAty

2020/03/07 15:29

リナックスアカデミーが管理しているサイトにありました。もしかしてこの解説内容はPythonを使用する際、という意味ではないのでしょうか?・・https://eng-entrance.com/git-install
raccy

2020/03/07 15:33

> nskydivingさん PythonのようなWindowsコンソールアプリケーションはwinptyを使う必要があるとちゃんとインストーラーの画面に書いてあると思いますけど…
AtyAty

2020/03/08 14:07 編集

>raccy様 はい、それは理解しているのですが・・winptyを使用しない方法はあるのかと思い質問させていただきました・・
raccy

2020/03/08 14:28

最新のWindows 10ではデフォルトコンソールが大分良くなったとは言え、他のターミナルと比べるとどうしても見劣りします。結局どちらを選んでも一長一短だということです。なので、私は個人的な意見として、あのような回答になっています。
Zuishin

2020/03/08 23:45

コマンドプロンプトで使うなら Use Window's default console で十分ですね。 Git をインストールした際に Git Bash というおまけがついてきますが、これは Git を使うのに特に必要というわけではありません。単に Linux を使い慣れている人が Windows のコマンドプロンプトを使いたくない場合にコマンドプロンプト代わりに使うものです。 winpty 云々は、この Git Bash 上で Python を動かす上での注意書きであって、それ以上のものではありません。Git Bash を使わなくても Python は動きますし、Linux 環境を整えたいなら WSL という手もあります。
AtyAty

2020/03/09 15:49

Zuishinさん、ありがとうございます。 なるほど、コマンドプロンプトでならそちらで良かったのですね・・  GitBash上でpythonを使用しなければよいわけですね! 理解できました、大変ありがとうございました!
guest

回答2

0

すでにPythonを使っているものかと思ったのですが、そうでは無いのですね。ならば、恐れずに進んでしまえばいいかと思います。Git for Windowsは一度入れたらもう二度と入れられないというわけではありません。うまくいかなかったら、入れ直せば良いのです。二度手間かと思いますが、何が良いかというのはその時々によって変わります。自分にあったものは自分で試行錯誤しながら探していくしかないのです。


さて、まずはCUI環境について学んでおきましょう。GitはGUIのツール(Git for WindowsではGit GUIというのが入りますし、それ以外にもサードパーティーのツールやエディタ等から操作する等もあります)もありますが、基本的にはCUIで操作します。CUIというのはコマンドプロンプトとかそういうのです。そう、ただのコマンドプロンプトでもGitは使えます。Pythonも普通に使う場合はCUIからです。なので、CUIの使いやすさというのは、開発のしやすさに繋がる重要なものになってきます。

WindowsでのCUI環境と言えばコマンドプロンプト(cmd.exe)でした。コマンドプロンプト自体はユーザーと対話を行う機能であり、シェルと言われるものです。そして、実際のウィドウはWindowsにデフォルトで用意されているコンソール(コマンドプロンプトを起動したときの黒いウィンドウのこと)が使われます。このコマンドプロンプトとWindows10より前のコンソール(以下、レガシコンソールとします)がとても貧弱です。何に比べて貧弱かというと、LinuxやMacに標準で入っているBashやzshといったシェルと仮想端末(xtermやGOOME端末、Macのターミナル等)に比べてです。

貧弱と言っても、ただコマンドを実行するだけであれば十分使えます。GitもPythonも問題なく使えます。ただ、ヒストリ機能とか、フォントとか、便利なコマンドとか、パイプ処理とか、CUIだけで色々なことをしようとする不満が出てくるというものです。そのため、Microsoft自身やCygwinやMingw等を開発しているコミュニティー達はより便利なものを用意することにしました。

Microsfotはコマンドプロントとレガシコンソールの代わりに次のようなものを用意しました。

  • シェル: PowerShell
  • 端末環境: モダンコンソール (Windows 10から採用。最新のWindows 10ではこちらがデフォルトになっています)

上とは別に、コミュニティーの人々は次のようなものを用意しました。

  • シェル: 移植版Bash (その他zsh等も移植されています)
  • 端末環境: MinTTY (もともとはCygwin用です)

GitはもともとLinux用として開発されたこともあり、Bash等と相性が良いものでした。そこで、Git for Windowsでは、Git Bashの名でBash環境を用意しています。

ちょっと注意して欲しいのは、最初のコマンドプロンプトであっても、それこそ、PowerShellでもBashでもGitは問題なく使えると言うことです。ただ、コマンドプロンプトはコマンドプロンプトが貧弱すぎるため、CUIをメインに使用する場合はお勧めできるものでありません。ただそれだけの理由で、Git Bashが用意されているとも言えます。

ちょっと戻りましょう。PowerShellとBashのどちらが良いのかというのは、正直なところ私にはわかりません。書き方がかなり異なるので、比べようが無いとも言えます。ただ、どちらも強力な機能を持っています。では、モダンコンソールはどうかというと、レガシコンソールよりはいくらかマシになったとは言え、色々と不満と思われる部分がないわけではありません。Linux等と同等レベルのCUI環境が欲しいとなると、やはり、Bash + MinTTYの方が良いとなる訳です。

ただ、MinTTYはWindowsコンソールアプリを直接扱う事はできません。winpty経由でないと正常に動作しない、それがインストーラーに書いてあることです。通常のWindows版インストーラーで入るPython等はこの問題にぶち当たります。CUI自体の操作は良くなる代わりに、直接実行出来ない物があるという不便を強いることになります。

結局の所、どちらを選んでも一長一短だと言うことです。CUIとしてはやや不便な環境を使い続けるか、Python等を起動するときにwinpty経由にしなければならない不便さを許容するかになると言うことです。そんなのが嫌だ、より良いCUI環境で問題なくPythonを使いたいというのであれば、この回答の下に書いてあるConEmuやcmder等を使う必要があると言うことです。


【注意】Microsoft Store版Pythonはbashから使用できません。

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

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


**個人的な意見ですが、**インストール時の設定とは関係無く、ConEmuを使うことをお勧めします。
FAQ · git-for-windows/git Wiki にもConEmuの使用が代替候補として記載されています。ConEmuでも ConEmu | Using Git for Windows に設定方法が書いてあり、Git for Windowsでの使用をサポートしています。

**さらに個人的な意見ですが、**めんどくさがりな人には、ConEmu等の設定などをまとめて使いやすくしたcmderを使うことをお勧めします。cmderのFull版であればGit for Windowsが内包されているので、Git for Windowsを入れておく必要すら無くなります(Git for Windowsを別途インストールしておく場合はMini版を使用して下さい)。私自身は、ChocolateyでGit for Windowsもcmder(Mini版)もデフォルトオプションでインストールしていますが、特に不便になった事はありません。

投稿2020/03/07 15:46

編集2020/03/09 15:32
raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pepperleaf

2020/03/08 00:39

きちんと調べたわけではありませんが、、、 > "%LOCALAPPDATA%\Microsoft\WindowsApps"にある特殊なpython.exeになります。 インストールしなくても入ってるみたいです。で、インストール済みのPythonにパスが無い状態で、うっかり、Pythonと打つと、Storeアプリのインストール画面になります。(無いと言えば、いいのに) で、削除は拒否されました。
AtyAty

2020/03/08 14:54 編集

大変詳しくアドバイス頂き、ありがとうございます!  Pythonはすでに公式サイトからインストールしているので、use MinTTYを選択しても問題ないという理解であってますでしょうか?・・  Anacondaのインストールは先日分析学習のためにインストールしたのですが、それ以前にpipを使用してPython学習で使用していました。まだ試してはいませんが、pipとAnacondaの相性が悪い、不具合が起きるという情報を聞いたので、いろいろこれから自分で試してみようと思っています。
raccy

2020/03/08 22:06

もしかして、MinTTYでPythonをどうしても使いたいという質問だったのですか?それなら、Mingw版Pythonを使って下さい。普通のインストーラーで入るPythonはどれもMinTTYで直接使うことはできません。
AtyAty

2020/03/08 22:45

>raccyさん なるほど、ありがとうございます! MinTTYでは直接使うことはできないと。 MinTTYで使用したいわけではなく、、まだ勉強不足でMinTTYについても無知なので・・。以前Puttyは学習過程で使用したことはあったのですが・・ 今回の質問は本当に素人の質問でして・・インストールする際に表示される選択で、今後pythonを使用する場合どれを選択すれば最適なのかお聞きしたかったのです・・ 今の学習段階ではdefault使用を選択して問題ないということでそうしようかと思っています・・
guest

0

ベストアンサー

どちらかというとWindowsでPythonやること自体が難しいと言えるのではないでしょうか。
やっぱりLinuxで環境を整えるのが地雷を踏みにくいと思います。
Pythonを使う上で一般的になりつつあるjupiter notebookもWindowsで動かすには数多くの地雷に遭遇することでしょう。そのトラブルシューティングをする時間がアレばLinux環境を構築できるでしょう。

Virtual Boxで仮想環境作るとか適当なVPSと契約するとかして適当なLinux(Ubuntuとか)を突っ込んで、そこで作業するのが多分速いと思います。

なお自分はこれまで幾度となくWindowsでPythonを使う/依存するなにかを使おうと試みてきましたが、大抵解決にために丸一日つぶすか解決できないかしています。ここ3年でpipまわりのゴタゴタが解決してきて幾分ましになってはいるのですが。
というかjupiter notebook on vscodeどうやったらWindowsで動くんだ?

まあWindowsでいろいろ地雷を踏みやすいってのはなにもPythonに限った話ではなくて、つい先日も私はrubyのグラフィックライブラリであるruby2dと格闘して挫折しましたし、rust製のイケてるコマンドラインツールを使おうとしてビルドが通らず挫折したり、C++でWindowsで発現するlibstdc++のバグを踏んだり、普通に生活しているつもりなんですが、なんか月に1度はトラブルに足を突っ込んでいます。

投稿2020/03/09 14:20

編集2020/03/09 14:41
yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AtyAty

2020/03/09 16:06

yumetodo様 なるほど、、そんなに不具合がおきるんですね・・先日統計学習のためにJupiterをインストールしたばかりです・・。しかもVScode使用者です。。 rubyの環境構築でもはじめスムーズにいかなかったのもwindowsのせいだったのかもしれないと思えてきました(理解できずがむしゃらにpathの追加やsshの何かをいじって結果できたのですが。。それでrubyからは遠ざかりました。)  今後の事を考え検討する必要がありそうですね。 アドバイスありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問