1.在本机上试运行 用flask布置本地访问和返回
代码语言:javascript复制@app.route('/', methods=['POST', 'GET'])
def get_text_input():
# http://192.168.43.75:5002/?inputStr="神经病"
# 如果遇到显示问题:下载QQ浏览器,将编码设置为utf-8
text = request.args.get('inputStr')
print(text)
return aiqa(text)
if __name__ == "__main__":
# # 这种是不太推荐的启动方式,我这只是做演示用,官方启动方式参见:http://flask.pocoo.org/docs/0.12/quickstart/#a-minimal-application
app.run(host='0.0.0.0',debug=True)
结果:
image.png
2.布置到服务器上面 查看本机运行环境
代码语言:javascript复制python -m pip list
配置服务器环境
代码语言:javascript复制pip3 install py2neo==3.1.2
pip3 install jieba==0.39
pip3 install flask==0.11.1
3.把访问的端口改成本地的IP,其他服务器可以进行访问
代码语言:javascript复制app.run(host='192.168.0.74',port=50001,debug=True)
4.遇到的问题
- 本地端口被占用 解决办法:
查看已经连接的服务端口(ESTABLISHED)
netstat -a
查看所有的服务端口(LISTEN,ESTABLISHED)
netstat -ap
查看指定端口,可以结合grep命令:
netstat -ap | grep 8080
也可以使用lsof命令:
lsof -i:8888
若要关闭使用这个端口的程序,使用kill 对应的pid
kill -9 PID号
查看端口
netstat -ap | grep 50001
结果:
tcp 0 0 192.168.0.74:50001 *:* LISTEN 43887/python3
终结端口:
代码语言:javascript复制kill -9 43887
- python3编码问题
UnicodeEncodeError 'ascii' codec can't encode characters in position 0-1
原因分析: https://blog.csdn.net/TH_NUM/article/details/80450607 解决办法: 运行代码时候前面加上:
代码语言:javascript复制PYTHONIOENCODING=utf-8 python your_script.py
- ajax请求flask需要添加跨域请求
app = Flask(__name__)
# 跨域支持
def after_request(resp):
resp.headers['Access-Control-Allow-Origin'] = '*'
return resp
app.after_request(after_request)
网址:https://blog.zengrong.net/post/2615.html