跳到内容

shebang-missing-executable-file (EXE002)

派生自 flake8-executable linter。

作用

检查缺少 shebang 的可执行 .py 文件。

为什么这不好?

在 Python 中,shebang(也称为 hashbang)是脚本的第一行,用于指定应该用于运行脚本的解释器。

如果一个 .py 文件是可执行的,但没有 shebang,它可能会用错误的解释器运行,或者根本无法运行。

如果该文件旨在作为可执行文件,请添加一个 shebang,例如

#!/usr/bin/env python

否则,从文件中删除可执行位(例如,chmod -x __main__.pygit update-index --chmod=-x __main__.py)。

如果文件设置了可执行位(即,其权限模式与 0o111 相交),则该文件被视为可执行文件。因此,此规则仅在类 Unix 系统上可用,并且不在 Windows 或 WSL 上强制执行。

参考