为了账号安全,请及时绑定邮箱和手机立即绑定

我该放#!(Shebang)在Python脚本中,它应该采取什么形式?

我该放#!(Shebang)在Python脚本中,它应该采取什么形式?

慕桂英3389331 2019-06-23 16:04:47
我该放#!(Shebang)在Python脚本中,它应该采取什么形式?我是否应该在我的Python脚本中添加该脚本?以什么形式?#!/usr/bin/env python或#!/usr/local/bin/python这些也是便携的吗?使用最多的是哪一种形式?注:这个龙卷风项目使用的是。另一方面,姜戈项目没有。
查看完整描述

3 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

我是否应该在我的Python脚本中添加该脚本?

将Shebang放入Python脚本以指示:

  • 此模块可以作为脚本运行。
  • 是否只能在python 2、python 3上运行,还是与Python 2/3兼容?
  • 在POSIX上,如果您想直接运行脚本而不调用

    python

    显式可执行

这些也是便携的吗?使用最多的是哪一种形式?

如果你写一篇手动然后总是用#!/usr/bin/env python除非你有明确的理由不使用它。即使在Windows(PythonLauncher)上也可以理解此表单。

注:安装脚本应该使用特定的python可执行文件,例如,/usr/bin/python/home/me/.virtualenvs/project/bin/python..如果您在shell中激活了一个虚拟主机,那么如果某些工具中断了,这是很糟糕的。幸运的是,在大多数情况下,正确的shebang是自动创建的。setuptools或者您的分发包工具(在Windows上,setuptools可以生成包装器.exe(自动脚本)。

换句话说,如果脚本在源代码签出中,那么您可能会看到#!/usr/bin/env python..如果安装了,则shebang是特定python可执行文件的路径,如#!/usr/local/bin/python(注意:您不应该手动编写后一类的路径)。

若要选择是否应使用pythonpython2,或python3在她的世界里,看到了吗?Pep 394-类Unix系统上的“python”命令:

  • ... python应该只在shebang行中使用与Python 2和3兼容的脚本。

  • 为了准备最终更改Python的默认版本,只有Python 2的脚本才应该更新为与Python 3兼容的源代码,或者使用python2在她的队伍里。


查看完整回答
反对 回复 2019-06-23
  • 3 回答
  • 0 关注
  • 760 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信