![](/img/trans.png)
[英]What are exactly the standard streams if there's no terminal/console window open for the python interpreter?
[英]Git 2.5.1's bash console doesn't open python interpreter
MinTTY终端是Git的新默认终端,它不支持Windows控制台程序。 我不知道为什么决定更改默认终端,但我知道有几种方法可以解决这个问题:
Bash别名(放在你的.bashrc中):
alias python=winpty py.exe
注意 :从Git for Windows 2.7.1开始,Winpty开箱即用。 可以在Git\\usr\\bin
找到winpty。
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
安装,我想解释一下使用它的一些好处( 适用于Windows的Python启动器 :
要更改首选/系统安装(例如,用于交互模式),请参阅此答案 。
你需要显式的python交互模式: python -i
您可以在.bashrc中定义别名: 别名python ='python -i' ,但是这样做,您将无法运行脚本文件(即: python script.py )。
在这里找到: 使用Cygwin的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的回答 ,这在很大程度上解决了这个问题!
仅供参考:当您的脚本使用import getpass; getpass.getpass()
时,也存在相同的症状import getpass; getpass.getpass()
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中使用:python my_script.py
。)
您可以通过编辑“$ HOME / .bashrc”中的文件来配置git bash控制台
将此行添加到$HOME/.bashrc
export PATH=$PATH;c:/python34
在为Windows安装git时,选择使用Windows默认控制台窗口,如下图所示。 此选项允许您使用交互式python或nodejs。 getpass也适用于此控制台。
当安装Windows的混帐,选择使用Windows默认的控制台窗口,如图所示画面 。 此选项允许您使用交互式python或nodejs。 getpass也适用于此控制台。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.