【问题标题】:Python Flask app insists on running on default port 5000 despite attempts to change itPython Flask 应用程序坚持在默认端口 5000 上运行,尽管尝试更改它
【发布时间】:2019-03-31 01:12:34
【问题描述】:

正如我的问题的标题所说,我尝试将端口设置为 5000 以外的其他值。我尝试了两种方法:

  • 在 app.py 中我这样做了:
if __name__ == '__main__':
    app.run(port=5001)
  • 在 config.py 中,我在 Config(object) 类下添加了以下行:
SERVER_NAME = "127.0.0.1:5001"

都没有工作,当我运行我的应用程序时,我得到了

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

编辑:正如下面的答案指出,app.run() 的做法似乎已被弃用,我可以通过使用命令运行烧瓶应用程序来更改端口行参数。但是,如果我可以在 config.py 文件本身中对端口进行硬编码,它仍然对我有用。根据烧瓶文档,这种方法仍在使用中。但是我不太了解使用 config.py 文件的细节,所以也许我做错了什么。为此,我遵循了老师的示例代码。他在 app.py 中做了如下操作:

from config import DevConfig
app.config.from_object(DevConfig)

(DevConfig是config.py文件中Config的子类)

【问题讨论】:

  • 您的应用程序是如何运行的?
  • 我正在使用 PyCharm。我只是点击了运行。
  • @AndrewS。你能检查一下 PyCharm 中的 Run 命令是如何执行的吗?
  • "C:\ ... \venv\Scripts\python.exe" -m 烧瓶运行

标签: python flask port


【解决方案1】:

我在命令行中使用如下方式指定监听端口:

flask run --host=0.0.0.0 --port=80

如果我没记错的话,您在代码中使用的方式 (app.run) 在当前的 Flask 版本中已被弃用(使用 flask run 而不是 python app.py 来启动服务器)。

一般介绍可以参考this page

在我的理解中,新方法可以更容易地为各种场景指定不同的端口。

【讨论】:

  • 感谢您的回答。我使用 PyCharm 作为我的 IDE。您是否碰巧知道是否有任何方法可以使用您建议的这些参数来自动化应用程序的运行方式?我知道在 Eclipse for Java 中您可以编辑运行配置以指定参数,但是当我在 PyCharm 中编辑配置时,我看不到任何有关参数或参数的信息...
  • 没关系,我找到了我正在寻找的领域。它在 PyCharm 中称为“附加选项”。我可以在那里设置参数。感谢您的帮助!
【解决方案2】:

在代码末尾使用以下内容 如果 name == 'ma​​in': app.run(主机='0.0.0.0',端口=80) 而不是$ flask run 使用$ python app.py

【讨论】:

  • 也许这对像我这样的其他人有用(不仅使用 Flask,还使用 ​​flask_socketio)。如果您运行 flask_socketio 应用程序,请使用 python app.py 来启动它,而不是 flask run,因为这是 Flask 服务器(不是 flask_socketio)的正确方式。我有时会在同时运行它们时将它们混合在一起。
【解决方案3】:

对于使用 pyCharm 的用户,需要更改执行的配置。通过这种方式,您可以在需要的同时运行任何任务。只需添加附加选项。这是我正在使用的示例:

【讨论】:

    猜你喜欢
    • 2015-04-09
    • 2021-07-31
    • 2019-12-25
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2013-07-12
    相关资源
    最近更新 更多