2017-01-06 206 views
1

我在我的Win7系統上安裝了python 3.6,並試圖讓它在git bash(MINGW64)中工作,至此無濟於事。無法在git終端中運行python?

我已將安裝目錄(當然不包括.exe)添加到PATH,但沒有任何結果。

即使我直接cd到安裝目錄,它不會看到它。

$ python 
bash: python: command not found 
$ echo $PATH 
/c/Users/Aerovistae/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/Aerovistae/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon:/cmd:/c/Program Files (x86)/Skype/Phone:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon: C:/Users/Aerovistae/AppData/Local/Programs/Python/Python36-32:/usr/bin/vendor_perl:/usr/bin/core_perl 
$ cd C:/Users/Aerovistae/AppData/Local/Programs/Python/Python36-32 
$ python 
bash: python: command not found 
$ python.exe 
bash: python.exe: command not found 

如果我嘗試./python從這個目錄中,它只是到下一行,當我按下回車鍵,並允許我繼續打字,因爲它希望有更多的出於某種原因的命令。 ./python沒有被認爲是一個完整的命令,它正在等待關閉,就好像我有一個公開報價,但沒有關閉報價。無法弄清楚原因。

我在這裏錯過了什麼?爲什麼不能運行.exe,即使我在目錄中?

旁註,爲什麼它顯示PATH具有冒號分隔符而不是分號分隔符?

+0

你怎麼添加Python的安裝目錄路徑? –

+0

[Python不能在git bash的命令行中工作]的重複(https://stackoverflow.com/questions/32597209/python-not-working-in-the-command-line-of-git-bash) –

回答

4

爲什麼它顯示PATH爲冒號分隔符而不是分號分隔符?

因爲bash使用:作爲路徑分隔符。這意味着您的PATH環境變量中的C:/yadda/yadda被解析爲兩個目錄:C/yadda/yadda。如果仔細觀察echo $PATH輸出,您會看到許多條目以/c/開頭。您的python安裝條目是唯一使用C:/的條目。在.bashrc或.profile中設置PATH時,應該使用/c/表示法。

:之前和之後還要注意路徑名稱和空格中的空格。前者肯定是有問題的。我不確定後者,因爲在設置PATH時,我從不在這個位置添加空格。

如果我從該目錄中嘗試./python,當我按下Enter鍵時,它會進入下一行,並且允許我繼續鍵入,因爲它出於某種原因期待更多的命令。

每註釋從@eryksun:

您可能需要在正常的Windows控制檯運行bash.exe或者,如果使用的是mintty終端,強迫的Python通過python -i使用的交互模式。 mintty隱藏真實控制檯並將StandardInput設置爲名爲\\.\pipe\msys-[UNIQUE_ID]-pty0-from-masterStandardOutput的管道到名爲\\.\pipe\msys-[UNIQUE_ID]-pty0-to-master的管道。管道不是Windows中的字符設備,因此isatty返回false,所以Python以非交互模式啓動,除非通過-i選項強制執行。

+0

忘了提起那個可悲的我做了這個 - 爲了記錄,我非常熟悉linux命令行。它只是掛起,當我按下回車鍵時,會跳到下一行閃爍的光標,就像它期待更多的輸入,並且'.python'不會被識別爲有效的獨立命令。必須按Ctrl + C出它。 – Aerovistae

+0

@Aerovistae請編輯您的問題以顯示此 –

+0

我這樣做了,謝謝。 – Aerovistae

0

嘗試在你的Git的bash使用這個命令:alias python='winpty python.exe 如果可以正常使用Python,您可以輸出和輸入沒有問題,你可以在你的.bashrc配置文件中添加該命令(通常在git的同一目錄和.mintty配置文件(在您的Windows用戶名下)。

我不知道是什麼winpty實際上做,但我想這就是它的描述如下:https://github.com/rprichard/winpty