一、自然语言处理笔记

1.generator与list区别

generator采用next机制,不用构建整个存储空间,而list需要构建整个存储空间

2.字符串前面加u、r、b的含义

u indicate string use unicoder indicate do not use transfer.etc,print('/n') will make cursor to next raw,but print(r'/n') will print '/n' exactlyb indicate python2.x's bytes

3.处理步骤

1.下载wiki的原始数据包2.用wiki的process.py解析数据包得到繁体字数据3.opencc进行处理,转换成简体中文数据4.jieba进行分词和词性分类5.gensim建模6.界面开发

4.文件上传

选择一个语料文件上传:

#视图函数代码片
file=request.files['file']
file.save

5.文件下载

#https://www.jianshu.com/p/8daa3d011cfd
from flask import send_file, send_from_directory
import os
@app.route("/download/<filename>", methods=['GET'])
def download_file(filename):# 需要知道2个参数, 第1个参数是本地目录的path, 第2个参数是文件名(带扩展名)directory = os.getcwd()  # 假设在当前目录return send_from_directory(directory, filename, as_attachment=True)

6.http 413

上传文件过大导致

在nginx配置中添加 client_max_body_size 200m;

7.yield

用于构造生成器。返回关键字右边表达式结果,相当于return,在下一次调用next()的时候继续执行语句def foo(num):print("starting...")while num<10:num=num+1yield num
for n in foo(0):#隐式调用next()print(n)
------------------------------------------
starting...
1
2
3
4
5
6
7
8
9
10

8.导航栏标签选中效果实现

1.导航栏<li>标签添加ID2.      $(document).ready(function(){var location=window.location.href;var id=location.substring(location.lastIndexOf('/')+1);$("#"+id).addClass("active");#此处id若为空,jQuery会报符号错误!});

服务器部署

1.第一种(gunicorn+flask+Nginx)

https://blog.csdn.net/qq_36114862/article/details/81380956 1)安装gunicorn   pip install gunicorn2)启动gunicorngunicorn --worker=3 main:app -b 127.0.0.1:50003)安装Nginxsudo apt install nginx4)启动Nginxsudo /etc/init.d/nginx start#一般会自启动5)Nginx检查配置文件sudo Nginx -t6)修改Nginx配置文件sudo vim /etc/nginx/sites-available/defaultserver { listen 80; server_name _; # 外部地址 location / { proxy_pass http://127.0.0.1:5000; #此处和你gunicore的ip和端口一致 proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                           proxy_set_header X-Forwarded-Proto $scheme; }}7)重启Nginxsudo service nginx restart

附录:部署中遇到的问题合集

1.调整Python优先级

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 20

2.virtualenv使用(重点):

1.首先,安装virtualenv,在默认的python2下的pip就行:

     [sudo] pip install virtualenv

2.创建虚拟环境:

     virtualenv -p /usr/bin/python3 py3env

3.激活虚拟环境:

 source py3env/bin/activate你会注意到shell的提示符行前多了(py3env)字样,这样你就可以放心的使用python3做开发了。先下载个三方库试试吧pip install httplib2

大功告成了!
如果要退出python3虚拟环境,输入命令即可:deactivate

 主要记录的是在:创建虚拟环境:这一步,这里直接创建的是python3环境而不再是python2.x环境了。

3.SyntaxError: Non-ASCII character ‘\xe6’ in file test.py on line 1, but no encoding declared

 解决:在该.py的文件头部添加: 下列代码,即可!# -- coding: utf

4.No module named distutils.spawn virtualenv python3

解决:sudo apt-get install python3-distutils

5.pip install gensim read timeout

     解决:更换镜像源pip install -i https://pypi.mirrors.ustc.edu.cn/simple gensim

6.vim回退

命令行模式下u

7.Nginx重启

sudo service nginx restart

8.HTPP 502

有很多种原因,目前发现的有1.nginx配置文件的端口号与gunicorn监听的不一致导致

9.requirements.txt

1.创建pip freeze > requirements.txt2.安装pip install -r requirements.txt

10./upload 上传文件请求无法识别

form表单中添加 enctype='multipart/form-data'

11.添加日志模块

1.创建好目录结构2.创建日志配置文件3.如下代码即可生成日志对象import logging.config
logging.config.fileConfig("./app/config/logger.ini")
logger = logging.getLogger("main")
logger.info('first log')

11.文件上传后没生成模型文件

服务器自带的Python版本为3.5,而开发环境是3.7.2。所以,在服务器上安装3.7.2

1.下载Python

 wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

2.解压tar -zvxf Python-3.7.2.tgz

3…/configure&sudo make &sudo make install

4.安装Python3.7.2中遇到如下问题

1.zipimport.ZipImportError: can’t decompress data; zlib not available

 sudo apt install zlib1g.devsudo apt install zlib1g输入以上指令后变为问题13↓

2.ModuleNotFoundError: No module named ‘_ctypes’

 sudo apt-get install libffi-dev

3.No module named _ssl

         1.vi /root/Python-3.7.1/Modules/Setup.dist2.将下面原本注释掉的内容给取消注释即可,一共四行Socket module helper for socket(2)_socket socketmodule.c timemodule.c3.sudo apt-get install libssl-dev(可以尝试直接使用步骤3&4)4.重新编译安装./configure --prefix=/usr/local/python37makemake install

4.No module named ‘_bz2’

         sudo apt-get install libbz2-devcd python3.7./configuremakemake install

12.查看内存情况

 free -m

13.Word2Vec报错,执行时卡住一段时间后killed

14.安装gensim更换镜像源

pip install -i https://pypi.mirrors.ustc.edu.cn/simple gensim

15.运行gensim报警告 smart_open deprecated

pip uninstall -r reuirement.txt 卸载所有包后按照能运行的环境重新装包

基于gensim的自然语言处理web服务器开发相关推荐

  1. 基于Go语言的Web服务器开发

    基于Go语言的Web服务器开发 本文将介绍使用Go语言来开发一个简单的Web服务器,其中将包括文件上传和下载功能. 必备条件 Go语言环境 一个文本编辑器 网络服务器 步骤一:编写server.go文 ...

  2. arm Linux 低成本方案,参赛作品《低成本基于ARM+Linux平台搭建web服务器的物联网学习板》...

    [报名阶段需要填写的内容] 1. 参赛者姓名(必填项): 王徕泽 2. 单位或学校名称(选填项): 徕泽电子工作室 3. 当前职务或职称(选填项): 室长 4. 参赛作品的名字(必填项): 低成本基于 ...

  3. JavaScript之后端Web服务器开发Node.JS基本模块学习篇

    JavaScript之后端Web服务器开发Node.JS基本模块学习篇 基本模块 fs文件系统模块 stream支持流模块 http crypto加密模块 基本模块 因为Node.js是运行在服务区端 ...

  4. C++web服务器开发

    C++web服务器开发 1. 首先介绍一下这个项目:这个项目是通过C++11编写的web服务器,模型为Reactor+非阻塞I/O(epoll作为I/O多路复用实现方式)+线程池,支持get.head ...

  5. 基于Docker和Golang搭建Web服务器

    1 场景描述 基于centos7的docker镜像搭建golang开发环境 在docker容器内,使用golang实现一个Web服务器 启动docker容器,并在容器内启动Web服务器 我购买了一个最 ...

  6. 基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署

    基于第三方开源库的OPC服务器开发指南(2)--LightOPC的编译及部署 前文已经说过,OPC基于微软的DCOM技术,所以开发OPC服务器我们要做的事情就是开发一个基于DCOM的EXE文件.一个代 ...

  7. 基于epoll实现简单的web服务器

    1. 简介 epoll 是 Linux 平台下特有的一种 I/O 复用模型实现,于 2002 年在 Linux kernel 2.5.44 中被引入.在 epoll 之前,Unix/Linux 平台下 ...

  8. 项目--基于http协议的小型web服务器

    在我们对网络的学习过程中,会接触到网络编程,我们在网络中可以深刻认识到服务器与客户端的交互,当我们输入网址时背后发生的一系列后端操作,为了加深我们对网络部分的学习,我们找到了一个开源项目TinyWeb ...

  9. SuperDog——一个基于netty的web服务器开发项目

      项目GitHub地址:https://github.com/HelloWorld-Ian/SuperDog   这是我在实习期间开发的一个项目demo,简单来说是一个基于netty框架的web服务 ...

最新文章

  1. 【网络协议】TCP分段与IP分片
  2. mysql Table 'plugin' already exists
  3. linux命令之查看动态库符号-nm
  4. Sql Server 监控 Job 执行情况
  5. 征战蓝桥 —— 2018年第九届 —— C/C++B组第3题——乘积尾零
  6. 如何成为一名优秀的程序员?
  7. 下载ueditor-1.1.3.jar源码和源代码
  8. c语言将链表写入二进制文件_通过逐级遍历将二进制树转换为单链表的C程序
  9. Python 神经网络是这样识别手写字符哒?
  10. Ubuntu帮大忙了
  11. PHP URL参数获取方式的四种例子
  12. UNIX网络编程第三版
  13. Algorithms 学习笔记——1.1
  14. 什么是PERT网络分析?
  15. 每天做好一件事,坦然微笑地面对生活
  16. 几个在线网页聊天网站
  17. C语言short转成int,short转换int的小例子
  18. 14期《未来,我来》1月刊
  19. 面向 Java 开发人员的区块链链代码
  20. 东华大学计算机蔡博士,蔡雅琦博士为信息学院学生做“大学生人际关系”讲座...

热门文章

  1. C-V2X如何提升未来道路安全性
  2. 图像特征点检测算法汇总
  3. 基于Android与云平台的多功能社交软件(毕业设计)
  4. 创基USB HUB集线器连接扩展一线通
  5. 【解决】application.yml 变灰色
  6. 计算机科学导论学习笔记(三)
  7. SaltStack 企业级自动化运维实战
  8. Mac-safari查看网页源代码的方法
  9. 微信小程序云开发配置环境
  10. oppor829t如何刷机_oppo R829t (R1 移动版)刷入recovery的教程