Python 为什么可以';我不能更改运行Flask应用程序的主机和端口吗?

Python 为什么可以';我不能更改运行Flask应用程序的主机和端口吗?,python,flask,Python,Flask,我想更改应用程序运行的主机和端口。我在app.run中设置了host和port,但是flask run命令仍然在默认的127.0.0.1:8000上运行。如何更改flask命令使用的主机和端口 if __name__ == '__main__': app.run(host='0.0.0.0', port=3000) set FLASK\u APP=在线游戏 将“调试”设置为true python-m烧瓶运行 flask命令与flask.run方法是分开的。它看不到应用程序或其配置。要更

我想更改应用程序运行的主机和端口。我在
app.run
中设置了
host
port
,但是
flask run
命令仍然在默认的
127.0.0.1:8000
上运行。如何更改
flask
命令使用的主机和端口

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=3000)
set FLASK\u APP=在线游戏
将“调试”设置为true
python-m烧瓶运行

flask命令与
flask.run
方法是分开的。它看不到应用程序或其配置。要更改主机和端口,请将它们作为选项传递给命令

flask run -h localhost -p 3000
传递
--help
,查看完整的选项列表

设置
SERVER\u NAME
config也不会影响该命令,因为该命令无法查看应用程序的配置


决不将开发服务器暴露于外部(例如绑定到
0.0.0.0
)。使用生产WSGI服务器,如uWSGI或Gunicorn

gunicorn -w 2 -b 0.0.0.0:3000 myapp:app

当您使用
flask run
命令运行应用程序服务器时,模块的
\uuuuuu name\uuuuuuu
不是
“\uuuuuuu main”
。因此,代码中的
if
块没有执行——因此服务器没有像您预期的那样绑定到
0.0.0

要使用此命令,可以使用
--host
标志绑定自定义主机

flask run --host=0.0.0.0

您还可以使用环境变量
FLASK\u RUN\u PORT
,例如:

export FLASK_RUN_PORT=8000
flask run
 * Running on http://127.0.0.1:8000/
来源:

在脚本中像这样配置主机和端口,并使用

python app.py
您还可以使用它:

if __name__ == "__main__":
    app.run(host='127.0.0.1', port=5002)
然后在控制台中使用它

set FLASK_ENV=development
python app.py

您可以使用以下两个环境变量:

set FLASK_RUN_HOST=0.0.0.0
set FLASK_RUN_PORT=3000

为了完整性,可以使用envvar
FLASK\u RUN\u HOST
更改主机。为了进一步完整性,可以通过设置遵循模式
FLASK\u命令\u选项的环境变量来设置
FLASK
。e、 g.代替
flask run--host 8000
set
export flask\u run\u host=8000
,代替
flask routes--sort methods
set
export flask\u routes\u sort=methods
set FLASK_RUN_HOST=0.0.0.0
set FLASK_RUN_PORT=3000