首页 > 解决方案 > scikit-surprise:python 找不到模块,即使 pip 将其列为已安装

问题描述

我正在尝试使用 scikit-surprise 模块来构建推荐系统,但是在编译时出现错误。

我收到 ImportError: Cannot import name "Reader" 错误

我的课如下

import pandas as pd
from surprise import Reader, Dataset

userReviewsFilePath ="UserReviewsFirst5000WithHeadings.csv"
ratings = pd.read_csv(userReviewsFilePath) # reading data in pandas df

ratings_dict = {'recipeID': list(ratings.recipeID),
                'rating': list(ratings.rating),
                'userID': list(ratings.userID)}
df = pd.DataFrame(ratings_dict)

reader = Reader(rating_scale=(1, 5))

data = Dataset.load_from_df(df[['recipeID', 'rating', 'userID']], reader)

pip show 说安装了 1.0.6 版

标签: pythonpython-importimporterror

解决方案


我认为您的问题来自安装...我安装了“惊喜”并通过了您的代码并且它起作用了:

import pandas as pd
from surprise import Reader, Dataset
print(Reader) # or just print(surprise) if you import surprise

出去:

<class 'surprise.reader.Reader'>

首先重新安装惊喜并告诉我们。

如果您有多个版本的 python,请执行以下操作:

which pip

看看你是否在使用过的 python 版本上安装了惊喜


推荐阅读