【问题标题】:How to tell Flask (.flaskenv) which python to use如何告诉 Flask (.flaskenv) 使用哪个 python
【发布时间】:2023-03-29 18:19:01
【问题描述】:

我有一个烧瓶项目并指定了一个.flaskenv 文件,如下所示:

FLASK_APP=my_program.py
FLASK_DEBUG=1

我正在使用 Python 3.8.x 的 MacOS 系统上运行它。

我正在调用flask run 来启动程序。这工作正常,但我希望程序在 conda 环境 中运行,但是,无论我在哪个 conda 环境中使用,程序将始终在 本地 python 环境中运行。

只需使用python my_program.py 即可工作并使用在 shell 中处于活动状态的所需 conda 环境

但是,如果可能的话,我想指定调用flask run 时使用的python 环境。
是否有某种方法可以指定所需的 Python 环境,例如在 .flaskenv 中?


编辑:

在各自的环境中通过conda 安装flask 为我解决了这个问题。有关详细信息,请参阅@VPfB 和 cmets 的回答。

【问题讨论】:

  • 你是用Python虚拟环境运行的吗?
  • 我认为在flask 已经启动的情况下选择环境为时已晚。 flask 是一个带有 shebang 行的脚本,用于指定要运行的 python 可执行文件。不过,您可能有多个 flask 脚本。
  • @PuneetSingh 我正在使用 conda 环境。
  • @VPfB 我尝试在我的my_program.py 中设置一个shebang,但这没有任何效果。
  • @MBT shebang (#!) 是仅用于 shell 的指令。从 Python 的角度来看,这只是一个注释。

标签: python macos flask environment-variables environment


【解决方案1】:

正如 cmets 中所讨论的,flask Python 脚本无法选择它将在其中运行的环境,因为它是某个环境的一部分。

脚本包含从flask 库(包)导入入口点函数并调用它的启动代码。该脚本是包的一部分,并且包安装在某些 Python 环境(或系统范围)中。

为了能够在多个环境中运行烧瓶应用程序,必须在每个环境中都安装它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2010-09-27
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 2022-01-22
    相关资源
    最近更新 更多