参考文档:flask官网文档
安装
使用flask,首先需要安装,一般的教程都是使用pip。由于在公司内网开发的原因,无法上网,只能下载安装包。依赖库手工下载地址:pypi
主程序:Flask-0.12.2.tar.gz,Python版本3.6,依赖库:
Werkzeug,Jinjia2,MarkupSafe,ItsDangerous,Click。从依赖提供的地址下载最新的tar.gz版本即可。
安装套路都一样,解压到服务器上,进入对应的目录,Python setup.py install。
注意一点,有些库有依赖关系,需要优先安装依赖库才能保证当前库安装成功,举个栗子,Jinja2-2.10.tar.gz解压后进入安装目录,注意其setup.py中一段:
![](https://i-blog.csdnimg.cn/blog_migrate/83a79190ac90cf9c3744d1080f0751b6.webp?x-image-process=image/format,png)
表明此库依赖MarkupSafe,且版本不能低于0.23,如此递推,直到以上列举的库都安装完毕,即可。
使用
flask的代码使用很方便,以下是最简单的hello world程序:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "hello, flask"
if __name__ == '__main__':
app.run()
然后就是启动:
$ export FLASK_APP=demo.py
$ export FLASK_DEBUG=1(开启调试模式,可选)
$ flask run(也可以执行python -m flask)
输出->
$ * Running on http://127.0.0.1:5000/(Press CTRL+C to quit)
在浏览器地址输入 http://127.0.0.1:5000/
就能看到hello,flask的输出了。
这里提点遇到过的问题
1、监听地址问题
由于开发时程序放在服务器,而我是通过主机浏览器访问,这里就存在监听端口的问题,需要flask不限制ip监听提供服务,这里增加命令行参数 -h 0.0.0.0,表示不限制监听地址,可以解决。
2、监听端口问题
flask默认的监听端口是5000,可以指定监听端口,在命令行参数增加-p 9000,即可修改监听端口。
@另外也可以在demo.py中使用app.run(host='0.0.0.0', port=9000)来指定监听地址和端口。
3、Python环境问题
我的服务器是CentOS6.5,自带的Python是2.6,然后使用flask的Python为3.6,基于Python版本兼容性做的很烂,还是建议使用专门的env来使用flask,我这边使用的是anaconda3,网上有很多类似的环境配置文章,暂不赘述。