VSCode安装Relik库遇OverflowError及源码安装解码错误求助
解决VSCode中Relik库安装与导入的问题
一、强制安装Relik 1.7版本
pip升级后仍安装1.6版本,大概率是缓存或Python环境不匹配导致,按以下步骤操作:
- 清理pip本地缓存:
pip cache purge - 指定1.7版本并跳过缓存安装:
pip install relik[faiss]==1.7 --no-cache-dir - 检查VSCode左下角的Python解释器,确保和终端使用的是同一环境(比如虚拟环境、Anaconda环境),避免环境不一致导致版本不生效。
二、修复源码安装的UnicodeDecodeError
Windows系统默认编码为charmap,读取源码中utf-8编码的文件时会解码失败,解决方法:
- 在执行安装命令前,临时设置Python编码为utf-8:
- CMD终端:
set PYTHONUTF8=1 - PowerShell终端:
$env:PYTHONUTF8=1
- CMD终端:
- 再执行源码安装命令:
git clone https://github.com/SapienzaNLP/relik.git cd relik pip install -e .[all]
三、临时解决1.6版本的OverflowError
如果暂时无法安装1.7版本,可手动修改代码规避溢出问题:
找到Relik安装目录下的relik/retriever/indexers/document.py文件,将csv.field_size_limit(sys.maxsize)替换为:
import sys import csv if sys.platform == "win32": csv.field_size_limit(2**31 - 1) # Windows下C long的最大值 else: csv.field_size_limit(sys.maxsize)
该错误是因为Windows系统中sys.maxsize是64位整数,超过了csv.field_size_limit支持的32位C long范围。
内容的提问来源于stack exchange,提问作者Anjali G
相关产品推荐
相关产品推荐

