zoukankan      html  css  js  c++  java
  • cygwin中运行python不能进入交互模式

    可以使用以下方式进入:

    python -i

     具体分析如下:

    正的问题是,当你在任何Cytwin终端程序(如mintty)中运行命令时,它们不会充当Windows控制台。只有像CMD或Console2这样的基于Windows控制台的人才能做到这一点。所以,使用Cygwin终端时,Windows python.exe并不认为它正在与交互式控制台交谈。

    这会导致缓冲输出,而不是像在交互式会话中那样在每行上刷新缓冲区。这就是为什么Amro在每行添加flush()修复症状,但意味着更改代码。

    不改变代码的一种解决方案是使用命令行中的'-u'标志关闭Python中的缓冲或设置PYTHONUNBUFFERED环境变量。

    export PYTHONUNBUFFERED=1
    
    /cydrive/c/Python27/python.exe foo.py
    

    要么

    /cydrive/c/Python27/python.exe -u foo.py
    

    或以交互模式运行

    /cydrive/c/Python27/python.exe -i foo.py
    

    你也将无法在Cygwin终端中运行Windows python.exe交互模式。它不会启动交互式会话,但会挂起。我发现最好的解决方案似乎是使用'cygstart'(比使用'-i'选项更好):

    cygstart /cygdrive/c/Python27/python.exe
    

    这似乎也适用于ipython(如果安装):

    cygstart /cygdrive/c/Python27/Scripts/ipython.exe
  • 相关阅读:
    PHP获取指定分钟数的下一个整数倍
    phpspreadsheet
    澳大利亚 主要城市列表
    db2编目抽取
    openssl实现CA自签证书和颁发数字证书
    基于Docker的redis集群搭建
    Python测试DB2连通性
    在Vim中查看文件编码
    搭建redis集群
    Python(十)之GUI编程
  • 原文地址:https://www.cnblogs.com/andy-0212/p/10073673.html
Copyright © 2011-2022 走看看