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

毫安

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

python setup.py install

而不是

./setup.py install

但这有充分的理由吗?

这些软件包不包括shebang:pytestlxml6virtualenvpip

但是这些可以做到:requestssimplejsonsetuptools

克劳斯D.

setup.py将为您运行它的Python解释器及其库路径进行安装。shebang将定义该解释器,而开发人员则不需要。

即使您setup.py使用的是shebang,也应在运行解释器之前运行该文件。它可以防止您遇到“软件包被黑客入侵的地方!?”之类的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的setup.py详细说明没有显示在pypi上?

Shell脚本在没有shebang行的情况下工作正常吗?为什么?

为什么setup.py安装旧文件?

为什么python setup.py会忽略--prefix?

为什么在.bashrc / .bash_profile中没有shebang?

为什么 shell 在没有读取权限的情况下知道文件的 shebang 行中指定的解释器

为什么setup.pydependency_links没有做任何事情?

执行和获取bash文件的所有选项是什么?为什么shebang没有被检查?

什么是setup.py?

为什么“ pip install”会在setup.py中引发SyntaxError?

在开发时,为什么pip install会比python setup.py install慢得多?

当前库满足setup.py要求时,为什么要安装新版本的库?

为什么./configure在python setup.py中不起作用?

为什么在执行setup.py sdist时find_packages(exclude = xxx)不起作用?

为什么我需要在setup.py中包含子软件包

当我使用setup.py安装它时,为什么找不到ansible?

为什么python setup.py在Travis CI上说无效命令'bdist_wheel'?

只要可以运行setup.py文件,为什么要使用Pip或PyPI

为什么OSX无法解析我的setup.py文件的extras_require部分?

Python“ setup.py development”为什么我的数据包不可用?

为什么setup.py会被pip执行两次?

为什么setup.py在安装之前会扫描名称空间的内容?

为什么不pip安装setup.py中指定的依赖项?

为什么克隆项目时“ python setup.py install”不起作用

为什么LD_PRELOAD在没有shebang的脚本中不生效?

为什么 redis-py 没有地理扩展?

为什么命名python文件“ .py”没有突出显示

为什么没有自动创建urls.py文件?

setup.py中setup()的platforms参数有什么作用?