gpt4 book ai didi

python - 为什么这两条 Shebang 系列都兼容?

转载 作者:太空宇宙 更新时间:2023-11-04 10:34:05 24 4
gpt4 key购买 nike

编码和 Python 的新手。

我正在使用 flask 框架编写一个应用程序,教程要求我在运行文件时包含一个 shebang 行来调用虚拟环境:

运行.py:

#!flask/bin/python

from app_folder import app
app.run(debug = True)

但是,在我的 __init__.py 文件中有不同的 shebang 行:

#!/usr/bin/env python

from flask import Flask

app = Flask(__name__)
from app_folder import views

当我运行 run.py 文件时,两个 shebang 是否不同似乎无关紧要 - 为什么会这样?我假设它们必须相同,因为我认为不同的它们会调用不同版本的程序。

最佳答案

第二个 shebang 被简单地忽略了。只有在命令行上命名的文件的 shebang 行用于定位要将文件传递到的可执行文件。

shell 将文件交给 flask/bin/python。对于 Python,shebang 行只是注释

__init__.py 文件中的 shebang 行可能不起作用;您不能在包内运行模块并希望仍然使用包的其余部分;脚本总是作为 __main__ 运行,除非你使用 -m 开关(在这种情况下,你可能需要在你的包中有一个 __main__.py 文件无论如何)。

关于python - 为什么这两条 Shebang 系列都兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24591504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com