首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用"#!/usr/bin/env python“将参数传递给python

无法使用"#!/usr/bin/env python“将参数传递给python
EN

Stack Overflow用户
提问于 2010-07-22 15:07:15
回答 9查看 26K关注 0票数 88

我需要一个直接可执行的python脚本,所以我用#!/usr/bin/env python启动了这个文件。但是,我还需要无缓冲的输出,所以我尝试了#!/usr/bin/env python -u,但使用python -u: no such file or directory失败了。

我发现#/usr/bin/python -u可以工作,但我需要它来让PATH中的python支持虚拟env环境。

我有什么选择?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-06-06 15:22:59

最好使用环境变量来实现这一点。请参阅python文档:http://docs.python.org/2/using/cmdline.html

对于您的案例:

代码语言:javascript
复制
export PYTHONUNBUFFERED=1
script.py
票数 31
EN

Stack Overflow用户

发布于 2012-01-29 15:25:41

在某些环境中,env不会拆分参数。所以你的环境在你的路径中寻找python -u。我们可以使用sh来解决这个问题。用下面的代码行替换您的shebang,一切都会好起来的。

代码语言:javascript
复制
#!/bin/sh
''''exec python -u -- "$0" ${1+"$@"} # '''
# vi: syntax=python

附注:我们不需要担心到sh的路径,对吗?

票数 44
EN

Stack Overflow用户

发布于 2014-01-29 21:57:25

这可能有点过时了,但是env(1)手册告诉我们可以在这种情况下使用'-S‘

代码语言:javascript
复制
#!/usr/bin/env -S python -u

它在FreeBSD上似乎运行得很好。

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3306518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档