当前位置: 首页 > 面试题库 >

适用于Python脚本的正确Shebang

欧阳博超
2023-03-14
问题内容

我通常在Python脚本中使用以下shebang声明:

#!/usr/bin/python

最近,我遇到了这个shebang声明:

#!/usr/bin/env python

在脚本文档中,已指出使用此表单“更具可移植性”。

这个声明是什么意思?路径中间为什么会有空间?它实际上有助于提高可维护性吗?


问题答案:

之所以具有更高的可移植性,是因为该程序/usr/bin/env通常可用于在没有完整路径的情况下“激活”所需的命令。

否则,您将必须指定Python解释器的完整路径,该路径可能有所不同。

因此,无论Python解释器在您的主目录/usr/bin/python/usr/local/bin/python还是您的主目录中,都可以使用#!/usr/bin/envpython



 类似资料:
  • 问题内容: 我正在尝试为node.js创建一个可以在多种环境下工作的脚本。特别是对我来说,我正在OS X和Ubuntu之间来回切换。在前者中,Node安装为,而在后者中,安装为。在脚本的顶部,我可以有: 要么 只要安装了node,我宁愿脚本在任一环境中都作为可执行文件运行,而不是让一个或另一个必须指定命令(vs. )。 有什么方法可以指定备份hashbang或与node.js兼容的备份哈希吗? 问

  • 问题内容: 我想看看确定python中当前脚本目录的最佳方法是什么? 我发现由于调用python代码的方式很多,很难找到一个好的解决方案。 这里有一些问题: 如果脚本与执行没有定义 仅在模块中定义 用例: ./myfile.py python myfile.py ./somedir/myfile.py python somedir/myfile.py execfile(‘myfile.py’) (

  • 有人能帮我解决这个问题吗?当然,在Linux上运行时,我已经将路径更改为。

  • 问题内容: 有序词典是非常有用的结构,但是不幸的是,它们仅在3.1和2.7版本中才是最近的版本。在旧版本中如何使用有序词典? 问题答案: 我在pip python 2.6上安装了ordereddict

  • 问题内容: 我需要一个易于使用的无头浏览器(对于Python和一般编程来说,我还是相当陌生的),它将允许我导航到页面,登录到需要Javascript的表单,然后通过以下方式刮取结果网页:搜索符合特定条件的结果,单击复选框,然后单击以下载文件。所有这些都需要Javascript。 我听说我想要一个无头的浏览器-要求/首选项是我能够从Python运行它,并且最好是生成的脚本可以由py2exe编译(我正

  • 问题内容: 我正在尝试使用 ARMA ARIMA模型预测每周销售量。我找不到用于调整中的order(p,d,q)的函数。当前,R具有将调整(p,d,q)参数的功能。 如何为模型选择正确的顺序?python中有为此目的提供的任何库吗? 问题答案: 您可以实现多种方法: 包括和。根据它们的定义(请参阅此处和此处),这些条件会对模型中的参数数量造成不利影响。因此,您可以使用这些数字来比较模型。scipy