本项目在 win 平台采用 pycharm 编写, 技能与环境要求: python 基础, web 基础知识, python.exe = 3.6+

算法》第四版,操作系统推荐《现代操作系统》


py2 很好的 诠释了 编码 默认编码 的力量 import sys
sys.getdefaultencoding() 实际上 py2.x 中 在 encode 的时候 如果没有 decode 过程 会默认 调用 default encoding 进行解码然后 再 encode
而且 在 win 平台 (gb2312 ?) 与 linux (ascii ?) 平台 默认编码格式 是不一样的 py2 需要特别指定 解码方式 然后 再进行 编码!!! yum install postgresql postgresql-devel python-devel

自建代理 ip 池

付费代理

轮子大本营

首先创建 项目 目录 我的目录 D:\test\flask-api\aiservice, 编写 如下的 Pipfile (使用 pipenv + pycharm)

[[source]]
url = "https://mirrors.aliyun.com/pypi/simple"
verify_ssl = true
name = "aliyun" [dev-packages] [packages] cymysql = "*"
Flask-Cors = "*"
Flask-HTTPAuth = "*"
Flask-SQLAlchemy = "*"
Flask-WTF = "*"
requests = "*" [requires]
python_version = "3.6"

然后进入 项目目录 执行 cmd 进行 项目依赖包的安装, 接下来就是 漫长的 等待了。。。

d:\
cd D:\test\flask-api\aiservice
pipenv install

然后在pychamr 中打开已经做好环境准备的 项目 aiservice , File --> Open --> 填入项目目录

那么接下来我们进入项目实际开发正题

首先呢,打开项目后,要在项目根目录下 建立项目的 入口文件 aiservice.py

# -*- coding: utf-8 -*-
from flask import Flask __author__ = 'Frank Li' app = Flask(__name__) @app.route('/')
def index():
return 'Welcome to visit!!!' if __name__ == '__main__':
app.run(debug=True,host='192.168.0.213',port=5888)

项目跑起来了, 快访问试试吧 , 虽然我们以后的工作绝对不止这么一些些,但至少是一个好的开始

正常的 项目 视图函数跟Flask 核心对象的操作 是不会放在 一个入口文件 (aiservice.py) 中的,所以我们应该要将 视图函数 以及 Flask 核心操作 放到一个叫做 app 的目录下

所以我们要在 根目录下创建一个 app 的 python package( 注意不是 directory!!!) 不要眨眼,你会发现突然多了好多层目录 不要惊慌!!! 接下来会一个一个去说的

   config 是一个 directory 下面没有明说的 都认作是 python package

app.py  核心对象操作

# -*- coding: utf-8 -*-
from flask import Flask
__author__ = 'Frank Li' def create_app():
app = Flask(__name__)
app.config.from_object('app.config.secure')
app.config.from_object('app.config.secure') return app # 入口文件, 此时 视图函数还没有分离出去,只是把 Flask 核心对象分离出去了
aiservice.py # -*- coding: utf-8 -*-
from app.app import create_app
__author__ = 'Frank Li' app = create_app() @app.route('/')
def index():
return 'Welcome to visit!!!' if __name__ == '__main__':
app.run(debug=True,host='192.168.0.213',port=5888) # 利用蓝图分离 视图函数 (虽然这种方式不太好,因为 蓝图是分离模块用的, 后面我会构建一个 红图 Redprint 来支持 视图函数注册 分离)
book.py # -*- coding: utf-8 -*-
from flask import Blueprint __author__ = 'Frank Li' book = Blueprint('book', __name__) @book.route('/v1/book')
def get_book():
return 'v1 - book' #---------------------------#
user.py # -*- coding: utf-8 -*-
from flask import Blueprint __author__ = 'Frank Li' user = Blueprint('user', __name__) @user.route('/v1/user')
def get_user(): return 'v1 - user' 分离后 此时 app.py 应该要有 蓝图注册 视图的 动作 # -*- coding: utf-8 -*-
from flask import Flask
from app.v1.book import book
from app.v1.user import user
__author__ = 'Frank Li' def create_app():
app = Flask(__name__)
app.config.from_object('app.config.secure')
app.config.from_object('app.config.secure')
app.register_blueprint(book) # 新增
app.register_blueprint(user) # 新增
return app

接下来 我们要仿造 Blueprint 创建属于我们自己的 视图函数分离 (route) 注册器 (register) , 这部分需要参照 蓝图源码,七月老师说钻透 Flask 源码 就神功大成了!!!

   我们要创建红图的目的就是为了 使用 Blueprint 而不滥用 Blueprint

其实要弄懂 层层绑定 分离注册来实现 解耦


api

http://t.yushu.im/v2/book/search?q={}&start={}&count={}

安装 nltk 的问题

import nltk
import ssl try:
  _create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
  pass
else:
  ssl._create_default_https_context = _create_unverified_https_context nltk.download("punkt")

我并非一无所获

UWSGI + Nginx 部署项目

flask 微电影项目

  1. 目录结构


使用 flask-restful 编写 自己的 ai web service的更多相关文章

  1. 编写一个单独的Web Service for Delphi

    早段时间看了一篇好文章,对其整理成以下几步 1新建一个SOAP Server Application,在提示输入接口时输入MyHello,把所有文件保存在一个叫Ser的目录下,其中一个包含TWebMo ...

  2. 编写一个单独的Web Service for Delphi7(步骤)

    1新建一个SOAP Server Application,在提示输入接口时输入MyHello,把所有文件保存在一个叫Ser的目录下,其中一个包含TWebModule1的文件保存为main.pas.在M ...

  3. Restful 和 Jersey介绍(Web Service )

    一:REST简单介绍 REST 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之中的一个. REST 中最重要的概念是资源(reso ...

  4. C#开发和调用Web Service

    http://blog.csdn.net/h0322/article/details/4776819 1.1.Web Service基本概念 Web Service也叫XML Web Service ...

  5. ASP.NET调用Web Service

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  6. C#之VS2010开发Web Service

    一:创建web service vs2010软件默认的framework是4.0版本,所以想创建web服务的时候压根看不到web服务应用程序.网上有人说vs2010的web service 跟wcf合 ...

  7. (转)Web Service入门简介(一个简单的WebService示例)

    Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...

  8. C# 调用 Web Service

    Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP ...

  9. Web Service入门简介(一个简单的WebService示例)

    Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...

随机推荐

  1. DP&图论 DAY 6 下午 考试

    DP&图论  DAY 6  下午  考试 样例输入 样例输出 题解 >50 pt      dij 跑暴力 (Floyd太慢了QWQ    O(n^3)) 枚举每个点作为起点,dijks ...

  2. linux系统安装zint

    背景: 今天代码拉下了发现启动时报错,一看原来是同事用了zint的gem,我又没安,然后花了点时间解决,但其中踩了几次坑,所以打算记录下: 一.zint开源库的介绍 zint 是一个开源的条码编码库, ...

  3. Python之文件操作工具

    逐步完善中. #!/usr/bin/python3 # -*- coding: utf-8 -*- import os import codecs #支持多国语言的编码解码 import charde ...

  4. 【URL 的编码、解码】

    工具类 /** * URLEncodeTest.java * weixinTest * * Function: TODO * * ver date author * ───────────────── ...

  5. Autofac实现AOP拦截

    本文主要是详解一下在ASP.NET Core中,采用替换后的Autofac来实现AOP拦截. Aspect Oriented Programming(AOP),面向切面编程,是一个比较热门的话题.AO ...

  6. JavaScript数值千分位格式化的方法和性能

    瞎掰的前提 前端嘛,经常处理数值和时间. 所以数值和时间的格式化少不了. 最近一直在面试前端, 就出了一个如何给数值添加千分位的面试题. 至于答案,我一直都有一种标准, 一是基于你现有的知识可以实现, ...

  7. XCTF (app2)

    打开app,有两个输入框和一个按钮.点击按钮会跳转到新的页面显示Waiting for you. 打开JEB反编译. 如果两个输入框的长度都不为0,那么获取这两个值到v0和v1中,Log记录日志. 创 ...

  8. HTML中Data的数据类型

    "data"类型的Url格式,是在RFC2397中提出的,目的对于一些“小”的数据,可以在网页中直接嵌入,而不是从外部文件载入. 例如对于img这个Tag,哪怕这个图片非常非常的小 ...

  9. 增加游戏受众:在英特尔核显上运行MR游戏

    为了获得良好的用户体验,通常VR游戏需要稳定在每秒90帧,这意味着整个场景只有11.1毫秒的时间来进行左右眼渲染,这就是为何VR游戏需要配备高端的独立显卡.现在来看看我们如何使用最新版英特尔图形性能分 ...

  10. OpenStack组件——Neutron网络服务(2)

    1.虚拟机获取 ip 1)用 namspace 隔离 DHCP 服务 Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 通过 Linux Network Namespac ...