为什么setup.py通常没有shebang线?

Mil*_*ams 5 python setup.py

查看随机选择的着名Python包,为什么总体趋势是不在#!/usr/bin/env python顶部包含一行setup.py?我知道通常推荐的与文件交互的方式是这样的:

python setup.py install
Run Code Online (Sandbox Code Playgroud)

而不是

./setup.py install
Run Code Online (Sandbox Code Playgroud)

但这有充分的理由吗?

这些包不包括shebang:pytest,lxml,six,virtualenv,pip

但这些:请求,simplejson,setuptools

Kla*_* D. 7

setup.py将要运行的Python解释器的安装和它的库路径.一个shebang将定义该解释器,开发人员不希望这样.

即使你有一个setup.pyshebang,你仍然应该使用解释器运行该文件.它可以防止你遇到诸如"黑客在哪里被包裹消失!"这样的问题.