使用 Cygwin 中的 Windows Python

2024-03-22

我最近在 Windows 上使用 Cygwin。我想使用 Windows 安装的 Python,所以在测试过程中我使用/cygdrive/c/Python26/python.exe myfile.py而不是python myfile.exe.

除了打印之外,这几乎可以完美地工作。当我从 Cygwin 运行 Windows Python 时,在执行完成之前不会打印输出。它可以在 Windows Python 中从 explorer.exe 或 cmd.exe 正常运行,并且可以使用 Cygwin 安装的 Python 在 Cygwin 中运行(/bin/python.exe).

有解决方法吗?重要的是能够运行 Windows 版本,但我想通过 Bash 来完成这一切。


真正的问题是,当您在任何 Cygwin 终端程序(如 mintty)中运行命令时,它们并不充当 Windows 控制台。只有基于 Windows 控制台的程序(例如 CMD 或 Console2)才能执行此操作。因此,对于 Cygwin 终端,Windows python.exe 并不认为它正在与交互式控制台对话。

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

一种无需更改代码的解决方案是使用命令行上的“-u”标志或设置 PYTHONUNBUFFERED 环境变量来关闭 Python 中的缓冲。

export PYTHONUNBUFFERED=1

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

or

/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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Cygwin 中的 Windows Python 的相关文章

随机推荐

  • Blazor 客户端 - 错误 NETSDK1082:“浏览器-wasm”

    我创建了一个简单的 blazor wa 项目 并选择了托管选项 在项目的客户端 它自动附带
  • 如何通过 Android 设备上的后台服务使屏幕闪烁/闪烁?

    我计划做后台服务 这将使屏幕闪烁 闪烁 直到用户触摸屏幕 我不知道如何使屏幕闪烁的方法 只知道可以通过生成的活动通过亮度和控制来完成 想要在屏幕上进行颜色变化 即黑白或屏幕开 关 的闪烁 以使其比亮度更明显 我用它来闪烁屏幕 在这段代码中我
  • 使用 python 中的 selenium webdriver 从父 xpath 中找出所有子元素 xpath

    我可以通过 xpath 找到该元素driver find element by xpath id app table tbody tr 1 td 1 但有什么方法可以返回所有子元素 例如标签和标签 xpath tr td class div
  • mail() 函数的更多参数[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直在努力寻找一个地方来帮助我解决这个问题 但我得到的大多数答案都令人困惑 或者效果不佳 我想要一个可以发送超过 8 条信息的邮件功能
  • Maven 的新功能:使用阴影插件和第 3 方 jar

    这应该很简单 但我无法解决它 我需要使用第 3 方 jar 创建一个 uberjar 我已经按照这些说明进行操作 包含非 Mavenized 依赖项 以便与 maven shade plugin 一起使用 https stackoverfl
  • 制作 AppleScript 程序来侦听系统范围内的快捷方式

    我想创建某种后台进程来侦听所有击键事件并相应地执行操作 例如 如果在 Finder app 中按下 CMD A 或更复杂的事情 例如创建快捷方式的序列 则执行一些操作 如emacs 但是我如何在 SnowLeopard 上监听系统范围内的按
  • 流().collect(Collectors.toSet()) vs 流().distinct().collect(Collectors.toList())

    如果我有一个对象列表 200 个元素 其中只有很少的唯一对象 20 个元素 我只想拥有独特的价值观 之间list stream collect Collectors toSet and list stream distinct collec
  • H2 数据库控制台 spring boot 加载被 X-Frame-Options 拒绝

    我正在为开发人员构建一个具有 spring 4 启动安全性和其他功能的骨架项目 在尝试登录数据库控制台并管理我的数据库时使用 H2 我收到以下错误 该页面是空白的 firebug konsole 中有 4 个错误 Load denied b
  • 在 NSPersistentStoreCoordinator 上调用 destroyPersistentStore 后,是否应该删除底层持久存储文件?

    我正在迁移我的 iOS 应用程序以使用NSPersistentContainer 默认情况下 此类将其持久存储文件定位在Library Application Support目录 以前我的商店文件存储在Documents目录 我添加了一些代
  • HttpUrlConnection 重定向不使用原始连接的请求属性

    设置连接属性不会延续到重定向连接 HttpURLConnection mConnection HttpURLConnection url openConnection mConnection addRequestProperty User
  • AWS Lambda 函数从不调用回调

    我创建了一个节点 lambda 函数 用于对 Aurora 数据库进行简单调用 当我在控制台中测试该函数时 查询返回 我可以在日志中看到结果 但回调似乎从未被调用 因此我的 lambda 函数超时 我不知道问题出在哪里 希望这里有人能指出我
  • 处理基于 Strope.js 的聊天应用程序中的状态

    是否有任何现有解决方案可以为基于 Strope js 的聊天应用程序提供在线状态处理 我有一个基于 Strope js 的简单聊天应用程序 我想仅显示在线并动态更改列表的用户 我想知道是否有任何现有的解决方案 可能是 Strope 插件 可
  • 具有管理员权限的java运行可执行文件

    如何从java程序中以管理员权限调用可执行bat文件 该可执行文件位于另一个目录中 您需要使用runas http www computerhope com runas htm命令 像下面这样 Runtime exec runas user
  • 如何禁用 Amazon S3 原始终端节点访问

    假设您想在 S3 上托管一个静态网站 您创建一个名为 name 的存储桶your website com并将其设置为网络托管 您在域的区域文件中添加 CNAME 以指向您的 S3 存储桶 伟大的 当您访问时一切正常http your web
  • 子网站上的 Sharepoint Foundation 母版页

    使用 Sharepoint Foundation 2010 我编辑了 v4 master 添加了对新 CSS 文件的引用 保存了更改 并将它们应用到主站点 没有问题 然而 当我创建一个子网站时 由于某些令人恼火的原因 它使用旧版本的 v4
  • MySQL 存储过程错误处理

    我相信目前 MySQL 中没有任何东西可以允许访问SQLSTATEMySQL 存储过程中最后执行的语句 这意味着当泛型SQLException在存储过程中引发 很难 不可能得出错误的确切性质 有没有人有一个解决方法来派生SQLSTATEMy
  • django 部署到 Heroku:服务器错误(500)

    我正在尝试将我的应用程序部署到heroku 部署已正确完成 但我收到服务器错误 500 当我将 DEBUG 设置为 true 时 不会发生严重错误 所以我认为加载静态文件有问题 我在日志中找不到任何值得注意的严重错误 我已经安装了白噪音 但
  • 如何根据分数标准化评论

    规范评论的最佳方法是什么 IE 假设我们有用户可以从 1 星到 5 星投票的产品 简单地取平均值并不是一个好方法 因为它没有考虑到评论的数量 例如 如果一个产品只有一条 5 星评论 那么它不应该领先于有 10000 条评论的产品 仅仅因为唯
  • 如何将 .xproj 引用到 .csproj 中?

    I have csproj项目 我想参考其他项目 xproj 一切看起来都很好 但是当我尝试构建解决方案时 我却不能 因为 dll 丢失了 当我引用 dll from bin release net452 本身那么一切都好 如何解决这个问题
  • 使用 Cygwin 中的 Windows Python

    我最近在 Windows 上使用 Cygwin 我想使用 Windows 安装的 Python 所以在测试过程中我使用 cygdrive c Python26 python exe myfile py而不是python myfile exe