强制使用 buildout 和 zc.recipe.egg:scripts 制作的脚本进行无缓冲输出

2023-12-14

我需要在使用构建构建的脚本中使用无缓冲的输出。

我的方法是指定-u生成的脚本中的 Python 标志。

这是我的 buildout.cfg:

[buildout]
parts = python
develop = .

[python]
recipe = zc.recipe.egg:scripts
eggs = myproject

和setup.py:

from setuptools import setup, find_packages

setup(
    name = 'myproject',
    packages = find_packages(),
    entry_points = """
    [console_scripts]
    myscript = myproject:main
    """,
)

我得到以下配置的 shebang:

$ pip install .
$ head -n1 /usr/local/bin/myscript
#!/usr/bin/python

我想要这个:

#!/usr/bin/python -u

怎么做?我尝试添加arguments = -u and interpreter = python -u to buildout.cfg。它不起作用。


您可以通过在文件号上打开一个新文件对象来重新打开 stdin 或 stdout,从而在 Python 脚本中强制使用无缓冲 I/O:

import io, os, sys
try:
    # Python 3, open as binary, then wrap in a TextIOWrapper
    unbuffered = io.TextIOWrapper(open(sys.stdout.fileno(), 'wb', 0), write_through=True)
except TypeError:
    # Python 2
    unbuffered = os.fdopen(sys.stdout.fileno(), 'w', 0)

如果您想使用使用 stdout 或 stdin 的其他模块或内置程序,则可以重新分配 sys.stdout:

sys.stdout = unbuffered

另请参阅来自程序内部的 python 中的无缓冲标准输出(如 python -u 中)

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

强制使用 buildout 和 zc.recipe.egg:scripts 制作的脚本进行无缓冲输出 的相关文章

  • 根据 pandas 中的条件交换列值

    我想按条件重新定位列 如果国家 地区是 日本 我需要将姓氏和名字反向重新定位 df pd DataFrame France Kylian Mbappe Japan Hiroyuki Tajima Japan Shiji Kagawa Eng
  • 蟒蛇 |如何将元素随机添加到列表中

    有没有一种方法可以将元素随机添加到列表中 内置函数 ex def random append lst a lst append b lst append c lst append d lst append e return print ls
  • 如何在“python setup.py test”中运行 py.test 和 linter

    我有一个项目setup py文件 我用pytest作为测试框架 我还在我的代码上运行各种 linter pep8 pylint pydocstyle pyflakes ETC 我用tox在多个 Python 版本中运行它们 并使用以下命令构
  • multiprocessing.freeze_support()

    为什么多处理模块需要调用特定的function http docs python org dev library multiprocessing html multiprocessing freeze support在被 冻结 以生成 Wi
  • 使用reduce方法的斐波那契数列

    于是 我看到有人用reduce方法来计算斐波那契数列 这是他的想法 1 0 1 1 2 1 3 2 5 3 对应于 1 1 2 3 5 8 13 21 代码如下所示 def fib reduce n initial 1 0 dummy ra
  • 如何像在浏览器中一样检索准确的 HTML

    我正在使用 Python 脚本来呈现网页并检索其 HTML 它适用于大多数页面 但对于其中一些页面 检索到的 HTML 不完整 我不太明白为什么 这是我用来废弃此页面的脚本 由于某种原因 每个产品的链接不在 HTML 中 Link http
  • 如何将同步函数包装在异步协程中?

    我在用着aiohttp https github com aio libs aiohttp构建一个 API 服务器 将 TCP 请求发送到单独的服务器 发送 TCP 请求的模块是同步的 对于我来说是一个黑匣子 所以我的问题是这些请求阻塞了整
  • 如何在 Keras 中使用部分输入进行训练,其余部分用于损失函数

    我是 Keras 新手 正在尝试实现神经网络机器学习模型 输入张量看起来像 X1 X2 和输出 Y 注意 X1 和 X2 是相关的 在模型中 只有 X1 将用于训练 但 X1 和 X2 都将传递给损失函数 该损失函数是 X1 X2 y pr
  • 别碰我的女人

    我讨厌的一件事迪斯图尔斯 http docs python org distutils 我猜他是邪恶的人 他这样做了 https github com python cpython blob 300dd552b15825abfe0e367a
  • 将具有不同大小的行的数据加载到 Numpy 数组中

    假设我有一个包含如下数据的文本文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 如何将它加载到 numpy 数组中 使其看起来像这样 1 2 3 4 5 0 6 7 8 0 0 0 9 1
  • 在 Python 中,如何获取特定文件中定义的类列表?

    如果一个文件myfile py包含 class A object Some implementation class B object Some implementation 我如何定义一个方法 以便在给定的情况下myfile py 它返回
  • PermanentTaskFailure:“模块”对象没有属性“迁移”

    我在 google appengine 上使用 Nick Johnson 的批量更新库 http blog notdot net 2010 03 Announcing a robust datastore bulk update utili
  • 使用 pandas 绘制带有误差线的条形图

    我正在尝试从 DataFrame 生成条形图 如下所示 Pre Post Measure1 0 4 1 9 这些值是我从其他地方计算出来的中值 我还有它们的方差和标准差 以及标准误差 我想将结果绘制为具有适当误差线的条形图 但指定多个误差值
  • dask allocate() 或 apply() 中的变量列名

    我有适用于pandas 但我在将其转换为使用时遇到问题dask 有一个部分解决方案here https stackoverflow com questions 32363114 how do i change rows and column
  • python csv按列转换为字典

    是否可以将 csv 文件中的数据读取到字典中 使得列的第一行是键 同一列的其余行构成列表的值 例如 我有一个 csv 文件 strings numbers colors string1 1 blue string2 2 red string
  • Python列表对象属性“append”是只读的

    正如标题所说 在Python中 我试图做到这一点 以便当有人输入一个选择 在本例中为Choice13 时 它会从密码列表中删除旧密码并添加新密码 passwords mrjoebblock mrjoefblock mrjoegblock m
  • 字母尺度和随机文本上的马尔可夫链

    我想使用 txt 文件中的一本书中的字母频率生成随机文本 以便每个新字符 string lowercase 取决于前一个 如何使用马尔可夫链来做到这一点 或者使用每个字母都有条件频率的 27 个数组更简单 我想使用来自的字母频率生成随机文本
  • 使用Python重命名目录中的多个文件

    我正在尝试使用以下 Python 脚本重命名目录中的多个文件 import os path Users myName Desktop directory files os listdir path i 1 for file in files
  • 获取运行云功能的运行时服务帐户

    有没有办法以编程方式从云功能获取运行时服务帐户的电子邮件 我知道我可以 猜测 默认的 App Engine 帐户 因为它始终是 appspot gserviceaccount com 但这不是我想要的 我本来期待有一些环境变量 https
  • Django - 缺少 1 个必需的位置参数:'request'

    我收到错误 get indiceComercioVarejista 缺少 1 个必需的位置参数 要求 当尝试访问 get indiceComercioVarejista 方法时 我不知道这是怎么回事 views from django ht

随机推荐

  • 在 Python 中创建 jTDS 连接字符串

    我正在尝试使用 Python 建立 jTDS 连接 谁能帮我完成这个任务吗 在 SQL Server 中 我通常使用以下连接字符串进行连接 jdbc jtds sqlserver DBServer port DBInstance useNT
  • 这个方法怎么给我一个-61错误?

    这是我正在使用的一个名为 Mirth 的应用程序 但它似乎来自 Apache Commons 库内部的一个方法 该方法检查某些内容是否确实是 Base64 编码的 所有文档都说唯一的返回是 true 或 false 那么我怎么得到 61 呢
  • 任何用于显示来自相机的实时图像的快速 Python GUI

    我正在尝试显示 1394 相机的实时图像 目前 我的代码能够从相机循环获取图像 并且我正在寻找任何可以动态更新的快速 GUI 作为单独的线程 我可以在 PyQt 中使用 QThreads 来做到这一点 但是有没有任何建议或更快的方法来做到这
  • 如何从 unicode (utf-8) csv 文件导入 numpy 数组

    我并不是想聪明或快速地做到这一点 只是想完全做到这一点 我有一个如下所示的文件 cat all user token counts csv 5raphaels in 15 5raphaels for 15 5raphaels unless
  • 应用内购买是否适用于电子书/有声读物?

    我们是一家销售精装书 电子书和有声读物的书店 我们有一个网站 接受客户使用信用卡进行在线支付 我们还有一个 iOS 和 Android 应用程序 用户可以在其中阅读 收听购买的书籍 现在我们想通过我们的 iOS 本机应用程序 以及将来的 A
  • 将 Wordpress 与 Symfony 集成

    我有一个用 Symfony 1 2 构建的网站 我正在尝试将 Wordpress 2 8 4 集成到其中以支持我的博客 我按照以下说明进行操作http www theodo fr blog 2009 03 integrate wordpre
  • Google Cloud Messaging 中泄露的 IntentReceiver

    我已经在我的应用程序中实现了 GCM 并且正在使用GSM注册器按照建议here 不 我在 logcat 中收到错误 7 02 23 35 15 830 E ActivityThread 10442 Activity com abc xyz
  • 如何在nativescript中使用原生android小部件类型定义?

    我通过添加安装了平台定义 tns platform declarations 2 5 2 但是 当我使用中的定义时tns platform declarations android d ts我无法访问 API 的某些部分 例如 我无法访问a
  • Python数字格式化[重复]

    这个问题在这里已经有答案了 可能的重复 字符串格式选项 优点和缺点 有什么区别 2f x and 2f format x 我对应该使用哪种方法以及哪个版本的 Python 有点困惑 一般来说 您想使用第二种形式 format 它是较新的 另
  • 如何获取 S3 存储桶中所有不同前缀的列表?

    如果我有如下目录结构并且前缀是 folder1 folder1 folder11 folder12 folder13 files folder21 folder22 folder23 files folder31 folder32 file
  • 如何借助Timepicker设置时间? 12 小时制

    我设置了时间选择器 它运行良好 但问题是我想设置为5 00 AM我得到输出 24 小时格式 但我想设置 12 小时格式 这里是代码 package com example sachin timepicker import android a
  • 如何在 CakePHP2 中缓存静态内容(css、图像、js 文件)?

    我需要设置一些 HTTP 标头 Expires Cache Control Last Modified 适用于 CSS 文件 图像文件 js 文件等资源 等 Webroot 内容 我读到有一些功能 通过 Configure write As
  • 为什么当 'let' 表达式计算结果为 0 时,带有 -e 选项的 Bash 会退出? [复制]

    这个问题在这里已经有答案了 我很难理解为什么会这样 e选项退出此脚本 仅当计算的表达式给出时才会发生0 bin bash set ex table year 1979 1982 1980 1993 1995 year 1 let indic
  • C++20 中的 `constinit` 是什么?

    constinit是一个新的keyword and 说明符在 C 20 中提出P1143 标准中提供了以下示例 const char g return dynamic initialization constexpr const char
  • 分布式锁服务[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 您会使用哪种分布式锁服务 要求是 不同进程 机器可以看到的互斥 锁 锁定 释放语义 一定超时后自动释放锁 如果锁持有者死亡 它将在 X 秒后自动释放 Java实现 很高兴拥有 Net 实现
  • 自定义轮播间隔?

    在 Bootstrap 3 中 使用 jQuery 有没有一种方法可以按轮播的索引进行排序并添加每张幻灯片的自定义间隔 以便我可以让一张幻灯片 10000 毫秒 另一张幻灯片 500 毫秒等 我知道您可以设置数据间隔属性 但这会设置所有幻灯
  • 如何使用asp.net core从appsettings.json获取配置数据并做出反应

    我正在使用带有react redux的asp net core 并且我正在尝试将react redux中的配置数据移动到appsettings json文件中 但是一旦配置数据被移动 ClientApp 如何访问配置数据 我正在将 Reac
  • Google 地图:相对于固定定位

    我正在寻找的效果是 我有一个浮动的 div 里面有 Google 地图 当用户向下滚动时 我希望它固定在 top 0px 这基本上就是 Yelp 搜索页面上的地图 有几个类似的问题询问如何使用 JQuery 将 div 的类更改为固定 一旦
  • 在带有参数的函数上使用 Invoke-Command -ScriptBlock

    我正在编写一个 PowerShell 脚本 它将使用以下命令在远程主机上执行命令调用命令和它的 ScriptBlock范围 例如 function Foo return foo rv Invoke Command Credential c
  • 强制使用 buildout 和 zc.recipe.egg:scripts 制作的脚本进行无缓冲输出

    我需要在使用构建构建的脚本中使用无缓冲的输出 我的方法是指定 u生成的脚本中的 Python 标志 这是我的 buildout cfg buildout parts python develop python recipe zc recip