我在 gke 集群中工作
需求.txt
Flask==2.0.1
Flask_RESTful==0.3.9
pandas==1.3.5
Requests==2.31.0
Werkzeug==2.3.6
我的代码 api.py
from flask import Flask, request
from flask_restful import Api, Resource
import pandas as pd
app = Flask(__name__)
api = Api(app)
class Apart(Resource):
def get(self):
data = pd.read_csv('apart.csv')
data = data.to_dict('records')
return {'data' : data}, 200
def post(self):
isim = request.args['isim']
kat = request.args['kat']
odasayısı = request.args['odasayısı']
m2= request.args['m2']
req_data = pd.DataFrame({'isim': [isim],
'kat': [kat],
'odasayısı': [odasayısı],
'm2':[m2]})
data = pd.read_csv('apart.csv')
data = data.append(req_data, ignore_index=True)
data.to_csv('apart.csv', index=False)
return ({'message': 'Record successfully added.'}, 200)
class Name(Resource):
def get(self):
data = pd.read_csv('apart.csv',usecols=[0])
data = data.to_dict('records')
return {'data' : data}, 200
api.add_resource(Name, '/apartname')
api.add_resource(Apart, '/aparts')
if __name__ == '__main__':
app.run(host="0.0.0.0", port=6767)
以及我的导入错误
Traceback (most recent call last):
File "/usr/local/bin/flask", line 5, in <module>
from flask.cli import main
File "/usr/local/lib/python3.8/site-packages/flask/__init__.py", line 7, in <module>
from .app import Flask as Flask
File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 28, in <module>
from . import cli
File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 18, in <module>
from .helpers import get_debug_flag
File "/usr/local/lib/python3.8/site-packages/flask/helpers.py", line 16, in <module>
from werkzeug.urls import url_quote
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.8/site-packages/werkzeug/urls.py)
我试过这个
from urllib.parse import quote as url_quote
我还尝试了不同版本的“Flask and Werkzeug”,但没有成功。
为什么 Flask 开始失败并显示“ImportError:无法从 'werkzeug.urls' 导入名称 'url_quote'”?
我也查看了此链接,但找不到解决方案。
关闭所有内容并从头开始尝试
Werkzeug==2.2.2
在您的要求.txt中
Flask==2.0.1
Flask_RESTful==0.3.9
pandas==1.3.5
Requests==2.31.0
Werkzeug==2.2.2
我刚刚在我的笔记本上安装了
Werkzeug==2.2.2
pip install Werkzeug==2.2.2
import werkzeug.urls
'url_quote' in dir(werkzeug.urls)
输出
#True
查看
werkzeug.urls
的全部内容
print(dir(werkzeug.urls))
#['BaseURL', 'BytesURL', 'URL', '_URLTuple', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_always_safe', '_bytetohex', '_check_str_tuple', '_codec_error_url_quote', '_decode_idna', '_encode_idna', '_fast_quote_plus', '_fast_url_quote', '_fast_url_quote_plus', '_hexdigits', '_hextobyte', '_make_encode_wrapper', '_make_fast_url_quote', '_scheme_re', '_to_iri_unsafe', '_to_str', '_to_uri_safe', '_unquote_maps', '_unquote_to_bytes', '_url_decode_impl', '_url_encode_impl', '_url_unquote_legacy', 'codecs', 'iri_to_uri', 'os', 're', 't', 'uri_to_iri', 'url_decode', 'url_decode_stream', 'url_encode', 'url_encode_stream', 'url_fix', 'url_join', 'url_parse', 'url_quote', 'url_quote_plus', 'url_unparse', 'url_unquote', 'url_unquote_plus']