我需要一个直接可执行的python脚本,所以我用#!/usr/bin/env python
启动了这个文件。但是,我还需要无缓冲的输出,所以我尝试了#!/usr/bin/env python -u
,但使用python -u: no such file or directory
失败了。
我发现#/usr/bin/python -u
可以工作,但我需要它来让PATH
中的python
支持虚拟env
环境。
我有什么选择?
发布于 2013-06-06 15:22:59
最好使用环境变量来实现这一点。请参阅python文档:http://docs.python.org/2/using/cmdline.html
对于您的案例:
export PYTHONUNBUFFERED=1
script.py
发布于 2012-01-29 15:25:41
在某些环境中,env不会拆分参数。所以你的环境在你的路径中寻找python -u
。我们可以使用sh来解决这个问题。用下面的代码行替换您的shebang,一切都会好起来的。
#!/bin/sh
''''exec python -u -- "$0" ${1+"$@"} # '''
# vi: syntax=python
附注:我们不需要担心到sh的路径,对吗?
发布于 2014-01-29 21:57:25
这可能有点过时了,但是env(1)手册告诉我们可以在这种情况下使用'-S‘
#!/usr/bin/env -S python -u
它在FreeBSD上似乎运行得很好。
https://stackoverflow.com/questions/3306518
复制相似问题