当前位置: 首页 > 知识库问答 >
问题:

Git2.5.1的bash控制台没有打开python解释器

魏浩广
2023-03-14

如果我在CMD中使用它,它就可以正常工作,但是如果我在gitbash中尝试它,它就不能工作。我喜欢使用GitBash作为我唯一的控制台,但如果它不适用于Python3.4,我就不能这样做。

示例如下图所示。这很容易复制。如果安装了Python和Git,请卸载它们,安装Python3.4,安装Git 2.5.1,您就会得到这个结果。

如何使Python解释器在Git Bash中工作?

共有1个答案

微生毅
2023-03-14

作为Git的新默认终端的MinTTY终端根本不支持Windows控制台程序。我不知道为什么决定更改默认终端,但我知道一些解决方法

  1. 编写Bash别名以使用winpty启动python

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安装,我想解释一下使用它的一些好处(适用于Windows的Python启动器:

  • 它与较新的Python(Python 3.3)一起安装。
  • 它理解并尝试在shebang行中使用指定的python安装
  • 它适用于虚拟环境(venv的shebang线示例)

有关更改首选/系统安装(例如,对于交互式模式),请参阅此答案。

 类似资料:
  • 问题内容: 像大多数Python开发人员一样,我通常会打开一个控制台窗口,并运行Python解释器来测试命令,东西等。 像任何控制台一样,一段时间后,过去的命令和打印的可见积压变得混乱不堪,有时会在多次重新运行同一命令时造成混乱。我想知道是否以及如何清除Python解释器控制台。 我听说过要进行系统调用并在Windows或上进行调用,但是我希望可以命令解释器自己执行一些操作。 注意:我在Windo

  • 我试图用Python通过Selenium打开firefox控制台。如何使用python Selenium打开firefox控制台?有没有可能把钥匙发给司机或者类似的东西?

  • 问题内容: 我正在尝试制作一个程序,该程序将同时启动查看窗口(控制台)和命令行。在视图窗口中,它将显示 不断的 更新,而命令行窗口将用于接受影响视图窗口的命令。我正在考虑为此使用线程,但是我不知道如何在新的控制台窗口中启动线程。我该怎么做? 问题答案: 重新检查您的问题,而不是使用控制台或终端窗口。您试图做的是创建一个GUI。有很多跨平台的工具包,包括Wx和Tkinter,它们的小部件可以完全满足

  • 我正在使用一个著名的第三方打包系统打包一些python包,并且在创建入口点的方式上遇到了一个问题。 当我在我的机器上安装一个切入点时,切入点将包含一个指向任何python解释器的文件,就像这样: 在 /home/me/development/test/setup.py 在/home/me/中。virtualenvs/test/bin/some入口点: 如您所见,切入点样板包含一个硬编码的Pytho

  • 本文向大家介绍Rust 没有宏的控制台输出,包括了Rust 没有宏的控制台输出的使用技巧和注意事项,需要的朋友参考一下 示例 该std::io::Write特征是为接受字节流的对象设计的。在这种情况下,使用获取标准输出的句柄。std::io::stdout() Write::write()接受由字节&[u8]字面量(b"<string>")创建的字节片()。返回一个,其中包含写入的字节数(成功)或

  • 问题内容: 我正在使用这个小脚本来查找Firebug是否打开: 而且效果很好。现在,我正在搜索半小时,以找到一种方法来检测Google Chrome的内置Web开发人员控制台是否已打开,但找不到任何提示。 这个: 不起作用。 编辑: 因此,似乎无法检测到Chrome控制台是否处于打开状态。但是有一个“hack”有效,但有一些缺点: 控制台断开连接后将无法工作 在页面加载中打开控制台时将不起作用 因