ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

在脚本的shebang行中添加Python参数(使用buildout和zc.recipe.egg:脚本创建的脚本)

2019-06-30 20:45:19  阅读:185  来源: 互联网

标签:python setuptools buildout


在使用buildout构建脚本时如何为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和interpreter = python -u添加到buildout.cfg.它没用.

解决方法:

您可以通过在文件编号上使用os.fdopen重新打开stdin或stdout来强制从Python脚本中进行无缓冲的I / O:

import sys, os
unbuffered = os.fdopen(sys.stdout.fileno(), 'w', 0)

如果要使用其他模块或使用stdout或stdin的内置函数,则可以重新分配sys.stdout:

sys.stdout = unbuffered

另见unbuffered stdout in python (as in python -u) from within the program

标签:python,setuptools,buildout
来源: https://codeday.me/bug/20190630/1339677.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有