Python zadd()接受3到7个位置参数,但给出了198个

Python zadd()接受3到7个位置参数,但给出了198个,python,redis,Python,Redis,engines.py的内容: 将熊猫作为pd导入 导入时间 导入redis 从flask导入当前应用程序 从sklearn.feature\u extraction.text导入TfidfVectorizer 从sklearn.metrics.pairwise导入线性_内核 def信息(msg): 当前应用程序记录器信息(msg) 类ContentEngine(对象): SIMKEY='p:smlr:%s' 定义初始化(自): self.\u r=redis.StrictRedis.from\u

engines.py的内容:

将熊猫作为pd导入
导入时间
导入redis
从flask导入当前应用程序
从sklearn.feature\u extraction.text导入TfidfVectorizer
从sklearn.metrics.pairwise导入线性_内核
def信息(msg):
当前应用程序记录器信息(msg)
类ContentEngine(对象):
SIMKEY='p:smlr:%s'
定义初始化(自):
self.\u r=redis.StrictRedis.from\u url(当前的\u app.config['redis\u url'])
def序列(自身、数据源):
开始=时间。时间()
ds=pd.read\u csv(数据源)
信息(“在%s秒内摄取的训练数据。”%(time.time()-start))
#从redis刷新陈旧的训练数据
self.\r.flushdb()
开始=时间。时间()
自动列车(ds)
信息(“发动机在%s秒内训练。”%(time.time()-start))
def_系列(自身、ds):
tf=TFIDFvectorier(analyzer='word',ngram\u range=(1,3),min\u df=0,stop\u words='english')
tfidf_矩阵=tf.fit_变换(ds['description'])
余弦相似性=线性核(tfidf矩阵,tfidf矩阵)
对于idx,ds.iterrows()中的行:
相似性指数=余弦相似性[idx].argsort()[:-100:-1]
相似_项目=[(相似_指数中i的余弦_相似性[idx][i],ds['id'][i])]
#第一个项目是项目本身,因此将其删除。
#这个“和”是将元组列表转换为单个元组:[(1,2),(3,4)]->(1,2,3,4)
展平=总和(类似的_项[1:],())
self.\u r.zadd(self.SIMKEY%行['id'],*展平)
def预测(自身、项目id、数量):
返回self.\r.zrange(self.SIMKEY%item\u id,0,num-1,withscores=True,desc=True)
content\u engine=ContentEngine()
尝试训练模型时出现错误消息:

[2020-01-17 06:38:49303]发动机中的信息:在0.009774923324584961秒内接收到的训练数据。
127.0.0.1--[17/Jan/2020 06:38:49]“获取/训练HTTP/1.1”500-
回溯(最近一次呼叫最后一次):
文件“/home/jayesh/Desktop/content engine/env/lib/python3.7/site packages/flask/app.py”,第1949行,完整发送请求
rv=自我分派请求()
文件“/home/jayesh/Desktop/content engine/env/lib/python3.7/site packages/flask/app.py”,第1935行,在调度请求中
返回self.view_函数[rule.endpoint](**req.view_参数)
文件“/home/jayesh/Desktop/content engine/web.py”,第14行,在函数中
返回f(*args,**kwargs)
文件“/home/jayesh/Desktop/content engine/web.py”,第34行,列车中
content\u engine.train(数据\u url)
文件“/home/jayesh/Desktop/content-engine/engines.py”,第29行,列车中
自动列车(ds)
文件“/home/jayesh/Desktop/content engine/engines.py”,第62行,in\u train
self.\u r.zadd(self.SIMKEY%行['id'],*展平)
TypeError:zadd()接受3到7个位置参数,但给出了198个
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/home/jayesh/Desktop/content-engine/env/lib/python3.7/site-packages/flask/app.py”,第2463行,在调用中__
返回self.wsgi_应用程序(环境,启动响应)
wsgi_应用程序中的文件“/home/jayesh/Desktop/content engine/env/lib/python3.7/site packages/flask/app.py”,第2449行
response=self.handle\u异常(e)
文件“/home/jayesh/Desktop/content-engine/env/lib/python3.7/site-packages/flask/app.py”,第1866行,在句柄中
重放(exc_类型、exc_值、tb)
文件“/home/jayesh/Desktop/content engine/env/lib/python3.7/site packages/flask/_compat.py”,第39行,重新登录
增值
文件“/home/jayesh/Desktop/content-engine/env/lib/python3.7/site-packages/flask/app.py”,第2446行,位于wsgi_应用程序中
response=self.full\u dispatch\u request()
文件“/home/jayesh/Desktop/content-engine/env/lib/python3.7/site-packages/flask/app.py”,第1951行,完整发送请求
rv=自身处理用户异常(e)
文件“/home/jayesh/Desktop/content engine/env/lib/python3.7/site packages/flask\u api/app.py”,第96行,在handle\u user\u异常中
app\u handlers=self.error\u handler\u spec[None].get(None,())
KeyError:无
每次都会弹出错误。。。。。
我试着安装conda,但在第一种方法中仍然不起作用,我为python和conda创建了虚拟环境,但激活后他们找不到模块。因此,我将所有依赖项移植到了pip,运行后显示zadd()redis function error

很明显,您将197个参数传递到函数中,并使用
*展平
,简单的解决方法可能是删除星号(*),但我没有确切的上下文。在调用zadd之前,请尝试运行
breakpoint()
,并查看您发送的参数。我确实删除了astrik,但其上显示:tuple对象没有属性项。请查看和