Python 名称';请求';没有定义
运行“curl-X POST-H”内容类型:application/json'-d'{“message”:“Game”}命令时,pod容器上未定义获取名称“requests”错误 Docker文件:-Python 名称';请求';没有定义,python,docker,flask,Python,Docker,Flask,运行“curl-X POST-H”内容类型:application/json'-d'{“message”:“Game”}命令时,pod容器上未定义获取名称“requests”错误 Docker文件:- FROM frolvlad/alpine-python3 MAINTAINER "Gaurav Agnihotri" #choosing /usr/src/app as working directory WORKDIR /usr/src/app # Mentioned python module
FROM frolvlad/alpine-python3
MAINTAINER "Gaurav Agnihotri"
#choosing /usr/src/app as working directory
WORKDIR /usr/src/app
# Mentioned python module name to run application
COPY requirements.txt ./
RUN pip3 install --no-cache-dir -r requirements.txt
# Exposing applicaiton on 80 so that it can be accessible on 80
EXPOSE 80
#Copying code to working directory
COPY . .
#Making default entry as python will launch api.py
CMD [ "python3", "m1.py" ]
~
requirements.txt:-
Flask==1.1.1
requests
m1.py:-
#!/usr/bin/env python
from flask import Flask, jsonify
from flask import request
import urllib
import json
import requests
app = Flask(__name__)
@app.route('/api', methods=['POST'])
def api():
user_data = request.get_json()
data = user_data['message']
r = requests.post('http://localhost:5000/reverse', json={'message': data })
json_resp = r.json()
a = random.uniform(0, 10)
return jsonify({"rand": a, "message": json_resp.get("message")})
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0", port=80)
错误:-
File "/usr/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/src/app/m1.py", line 13, in api
r = requests.post('http://localhost:5000/reverse', json={'message': data })
NameError: name 'requests' is not defined
如果在导入请求行之后直接添加
print(requests)
,该怎么办?为了帮助诊断,我建议使用官方Python映像,例如“3.7-alpine”()