python3安装flask
1. 如何部署简单python + flask应用
这是一篇教使用python和flask框架来部署最基本的后端服务的文章,适用于想用python开发后台程序的同学。阅读这篇文章需要python和flask的基本知识,以及构建后台程序所需要的网络常识。
文章中出现的概念可以看另一篇入门文章。
所需工具:
python3.4
flask
nginx
gunicorn
supervisor
系统环境:
Ubuntu 14.04LTS
我们先写一个最基本的flask应用:
demo.py
from flask import Flask app = Flask(**name**) @app.route('') def index(): return 'Hello World.'
if __name__ == __main__: app.run()
运行这个py文件,打开浏览器访问127.0.0.1:5000就能看到显示Hello World的页面 .
如果让这个flask引用监听来自公网ip的请求,理论上你跑此程序的机器就相当于一个服务器了,然而这个服务器并不完美,所以我们需要nginx和gunicorn来增加它的功能,让它真刀真枪上生产环境的时候能按要求运行。
flask自带的WSGI框架性能很差劲,只能适用于开发环境调试使用。我们用专业一点的gunicorn(还有很多其他优秀的框架)替代flask自带的WSGI框架。
配置完后,通过命令’/usr/local/bin/gunicorn -b127.0.0.1:5000‘启动应用。打开浏览器访问127.0.0.1:5000,同样能够得到返回页面
然而gunicorn也仅仅是一个python的WSGI框架而已,要让它真正处理来自互联网的各类访问功能还是有点欠缺,这时候就需要用到大名鼎鼎的nginx 服务器来替gunicorn遮风挡雨了。
Ubuntu下安装nginx可以用命令
sudo apt-get install nginx
安装后需要进行下配置:
cd /etc/nginx/sites-available
sudo vi test (test为配置名称,可以根据自己项目进行命名)
test文件的配置为:
server {
listen 80; # 监听80端口
location / {
proxy_pass http://127.0.0.1:5000; # 代理本机127.0.0.1:5000的服务
}
location /static {
alias /home/ubuntu/myproject/myblog/app/static; # 负载均衡
}
}cd ..
cd sites-enable
sudo ln -s ../sites-available/lwhile . (创建软链接,别漏掉最后的.)
sudo service nginx reload
sudo service nginx restart
这样nginx的基本配置文件就写好了 接下来我们配置进程管理工具supervisor supervisor可以在后面启动你的python进程,这样很方便
1.cd /etc/supervisor/conf.d
2.sudo vi test.conf (test为文件名)
[program:test]
command = /usr/local/bin/gunicorn -b127.0.0.1:5000 /home/ubuntu/myproject/test.py
3.sudo supervisorctl
4.reload
5.start test
如果一切正常,做完这所有步骤之后,现在公网的ip访问你的主机,就可以打开你的flask应用了
2. 快速上手python的简单web框架flask
Python 在提供 web 服务方面具有独特优势,尤其适合与已有的 Python 模型算法集成,形成一个高效、简洁的解决方案。Python 有许多 web 框架,包括 Django 和 Flask 等。本系列文章将聚焦于 Flask 这个轻量级框架。
一个典型的 web 服务包括接收前端请求、执行计算逻辑以及返回结果。Flask 框架的核心功能是实现这一流程,提供了路由跳转、HTTP/HTTPS 请求处理以及响应生成。配合现代前后端分离技术,Flask 能快速搭建出功能完善的 web 应用。
Flask 的核心功能是路由支持与模板语言(如 Jinja2)。它的轻量化设计使得开发快速且高效,同时支持丰富的扩展功能,如数据库管理、缓存、日志记录等。
为了启动 Flask 应用,首先需要安装 Python 3.7 及以上版本。使用虚拟环境(如 Python 的venv 工具)可以更好地管理项目依赖,避免环境冲突。创建虚拟环境后,安装 Flask 框架即可。
创建一个 Flask 应用通常从定义路由开始。通过 `@app.route` 装饰器,可以将函数与特定 URL 关联,实现 HTTP 方法(如 GET)的请求处理。在函数内部,可以执行计算逻辑并返回响应内容。
在 Flask 中运行应用有多种方式。通过 IDE(如 PyCharm)运行时,系统会自动配置环境变量,如 FLASK_APP、FLASK_ENV 和 FLASK_DEBUG 等。默认情况下,应用通过 `http://127.0.0.1:5000` 访问,运行成功后,可看到响应内容。
若需通过命令行启动应用,使用 `flask run` 命令即可,需指定应用名称。Flask 支持多种运行方式,灵活适应不同的开发和部署需求。
路由定义是 Flask 应用的关键部分,通过 `@app.route` 可以指定 URL 和 HTTP 方法,支持参数化路由和动态参数。路由参数类型(如 path、string 等)可以自定义,以满足不同场景需求。
在 Flask 应用中,静态文件的管理非常重要。通过创建静态文件目录(如 static),可以轻松处理 CSS、JavaScript 和图片等资源。使用 `url_for` 方法构建 URL,可以实现灵活的资源访问。
为了构建复杂、交互性强的页面,Flask 提供了模板系统,如 Jinja2。通过 `render_template` 方法,可以将动态数据与静态 HTML 结合,生成完整的网页。模板文件允许插入变量和执行逻辑,提高页面的可维护性和扩展性。
掌握 Flask 基础知识后,开发者能够快速构建出功能丰富的 web 应用,同时享受 Python 语言的简洁与高效。Flask 的灵活性和易用性使其成为 Python 开发者构建 web 应用的理想选择。